예제 #1
0
        static void Main(string[] args)
        {
            MyClient my_client = new MyClient();

            MyClient.InnitMethods();
            Console.WriteLine("Bonjour Client !");

            //entering the commands loop
            bool continuer = true;

            while (continuer)
            {
                try
                {
                    Console.WriteLine("Que voulez-vous faire?" +
                                      "\n\t0-envoyer un message" +
                                      "\n\t1-demander les utilisateurs connectés" +
                                      "\n\t2-changer de UserName" +
                                      "\n\t3-afficher les utilisateurs connectés" +
                                      "\n\t4-afficher les rêquetes de match" +
                                      "\n\t5-répondre à une requête de match" +
                                      "\n\t6-exprimer une requête de match" +
                                      "\n\t7-se déconnecter" +
                                      "\n\t8-se connecter" +
                                      "\n\t9-afficher l'id de l'adversaire" +
                                      "\n\t10-actualiser le plateau" +
                                      "\n\t11-afficher le plateau" +
                                      "\n\t12-Jouer une position");
                    string choice = Console.ReadLine();
                    if (choice == "0")
                    {
                        Console.WriteLine("entrez un message");
                        string message = Console.ReadLine();
                        Messaging.SendMessage(my_client, message);
                    }
                    else if (choice == "1")
                    {
                        Messaging.AskOtherUsers(my_client);
                        Console.WriteLine("La demande a été émise");
                    }
                    else if (choice == "2")
                    {
                        Console.WriteLine("entrez un nom d'utilisateur");
                        string userName = Console.ReadLine();
                        Messaging.SendUserName(my_client, userName);
                    }
                    else if (choice == "3")
                    {
                        my_client.DisplayOtherUser();
                    }
                    else if (choice == "4")
                    {
                        my_client.DisplayMatchRequest();
                    }
                    else if (choice == "5")
                    {
                        Console.WriteLine("entrez l'id de l'adversaire:");
                        int id = Convert.ToInt32(Console.ReadLine());
                        Console.WriteLine("entrez votre réponse:");
                        bool accepted = Convert.ToBoolean(Console.ReadLine());
                        Messaging.SendGameRequestResponse(my_client, id, accepted);
                    }
                    else if (choice == "6")
                    {
                        Console.WriteLine("Entrez l'id de l'adversaire souhaité:");
                        int id = Convert.ToInt32(Console.ReadLine());
                        Messaging.RequestMatch(my_client, id);
                        Console.WriteLine("Requête envoyée");
                    }
                    else if (choice == "7")
                    {
                        my_client.tryDisconnect();
                    }
                    else if (choice == "8")
                    {
                        my_client.tryConnect();
                        Console.WriteLine($"Connected to the server {my_client.Ip}");
                    }
                    else if (choice == "9")
                    {
                        if (my_client.Opponent != null)
                        {
                            Console.WriteLine($"L'id de votre adversaire est: {my_client.Opponent.Id} et son user name est: {my_client.Opponent.UserName}");
                        }
                        else
                        {
                            Console.WriteLine($"Aucun adversaire n'est attribué");
                        }
                    }
                    else if (choice == "10")
                    {
                        Messaging.AskGameBoard(my_client);
                        Console.WriteLine($"Requête envoyée");
                    }
                    else if (choice == "11")
                    {
                        my_client.DisplayGameBoard();
                    }
                    else if (choice == "12")
                    {
                        Console.WriteLine($"my_client.GameClient.Mode : {my_client.GameClient.Mode }; GameMode.Player1: {GameMode.Player1}; GameMode.Player2 : {GameMode.Player2}");
                        Console.WriteLine($"my_client.GameClient.IdPlayer1 : {my_client.GameClient.IdPlayer1 }; my_client.GameClient.IdPlayer2: {my_client.GameClient.IdPlayer2}; my_client.Opponent.Id : {my_client.Opponent.Id}");
                        {
                            Vector3 position = new Vector3();
                            int     x        = 0;
                            int     y        = 0;
                            int     z        = 0;
                            Console.WriteLine("Quelle est la coordonnee x (0,1 ou 2) de la position que vous voulez jouer ? (La couche)");
                            x          = (int.Parse(Console.ReadLine()));
                            position.X = x;
                            Console.WriteLine("Quelle est la coordonnee y (0,1 ou 2) de la position que vous voulez jouer ? (la ligne) ");
                            y          = (int.Parse(Console.ReadLine()));
                            position.Y = y;
                            Console.WriteLine("Quelle est la coordonnee z (0,1 ou 2) de la position que vous voulez jouer ? (la colonne)");
                            z          = (int.Parse(Console.ReadLine()));
                            position.Z = z;
                            Messaging.SendPositionPlayer(my_client, position);
                        }
                    }
                    else
                    {
                        Console.WriteLine("Commande inconnue");
                    }
                }
                catch (System.IO.IOException ex)
                {
                    Console.WriteLine("You have been disconnected from the server, please connect again");
                    my_client.tryDisconnect();
                }
            }
        }