using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MySql.Data.MySqlClient;

namespace SpaceInvaders
{
    internal class Results
    {
        Game game;
        public Results(Game gammme)
        {
            game = gammme;
        }
        public void HighScore()
        {
            // Game game = new Game();
            ////////////////////////////////////////////////////////Déclaration des variables/////////////////////////////////////////////////////
            string Connexion = "Server = 127.0.0.1; Port = 6033; Database = db_space_invaders; Uid = root; Pwd = root"; //Variable qui indique comment se connecter à la db et l'utilisateur
            MySqlConnection conn;                                                                                       //Varibale mysql qui connecte la db        
            string sql = "SELECT * FROM t_joueur ORDER BY jouNombrePoints DESC LIMIT 5;";                               //Rêquete sql vers la database
            string sqlH = game.Highscore();  //Reçois les informations
            byte bytVRank = 2;               //Position vertical de la position du joueur
            byte bytVName = 2;               //Position vertical des joueurs
            byte bytVPoints = 2;             //Position vertical des points
            ////////////////////////////////////////////////////////Programme principale///////////////////////////////////////////////////////////
            
            //Command utilisé  pour se connecter
            conn = new MySqlConnection(Connexion);
            //Connexion à la db
            conn.Open();
            Console.SetCursorPosition(7, 0);
            //Affichage du texte
            if(sqlH != null)
            {
                //Envoi les commandes au cmd
                MySqlCommand cmdH = new MySqlCommand(sqlH, conn);
                cmdH.ExecuteNonQuery();
                //Ordre les utilisateurs par ordre
                cmdH.CommandText = sql;
                //Execute commandes au cmd
                MySqlDataReader rdrH = cmdH.ExecuteReader();
                Console.WriteLine("HIGHSCORE");
                Console.SetCursorPosition(4, 1);
                //Affichage du texte
                Console.WriteLine("---------------");

                for (int x = 0; rdrH.Read() && x < 5; x++)
                {
                    Console.SetCursorPosition(0, bytVRank);
                    Console.WriteLine(x + 1 + " ");
                    bytVRank++;

                    Console.SetCursorPosition(5, bytVName);
                    Console.Write(rdrH.GetString(1) + " ");
                    bytVName++;

                    Console.SetCursorPosition(20, bytVPoints);
                    Console.WriteLine(rdrH.GetString(2));
                    bytVPoints++;

                }
            }
            else
            {
                Console.WriteLine("No data connexion...");
            }
            
        }
    }

}
