diff --git a/Tron/TronServeur/TronServeur/Program.cs b/Tron/TronServeur/TronServeur/Program.cs index d150bf6ca0f811f74e095990a2f4bca4c8ae3cd7..e92b8e9312e6c502fd150442a821a71cc213b653 100644 --- a/Tron/TronServeur/TronServeur/Program.cs +++ b/Tron/TronServeur/TronServeur/Program.cs @@ -14,40 +14,37 @@ namespace TronServeur static void Main(string[] args) { Tron.Tron myTron; // Moteur du jeu - - byte nJoueurs = 2; // Nombre de joueurs - byte frequence = 1; // Temps du tour de jeu (en dixieme de s) + byte nJoueurs = 3; // Nombre de joueurs + byte frequence = 4; // Temps du tour de jeu (en dixieme de s) byte taille = 60; // Taille du terrain - // ************************************* Intitialisation partie + // ************************************* Initialisation partie Console.WriteLine("Initialisation"); - // TODO Creation de la socket d'écoute TCP + // Creation de la socket d'écoute TCP Socket listenSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); - // TODO Creation du tableau des sockets connectées + // Creation du tableau des sockets connectées Socket[] socketJoueurs = new Socket[nJoueurs]; - bool[] joueursConnectes = new bool[nJoueurs]; - + // Creation du moteur de jeu myTron = new Tron.Tron(nJoueurs, taille); - // TODO Bind et listen + // Bind et listen listenSocket.Bind(new IPEndPoint(IPAddress.Any, 8000)); listenSocket.Listen(10); Console.WriteLine("Attente d'une nouvelle connexion ..."); - // TODO Acceptation des clients + // Acceptation des clients for (int i = 0; i < nJoueurs; i++) { socketJoueurs[i] = listenSocket.Accept(); Console.WriteLine("Nouvelle connexion : " + socketJoueurs[i].RemoteEndPoint); - joueursConnectes[i] = true; } - // TODO Envoie des paramètres + // Envoie des paramètres for (int i = 0; i < nJoueurs; i++) { byte[] buffer = new byte[] { nJoueurs, taille, frequence, (byte)i }; @@ -60,7 +57,7 @@ namespace TronServeur // Tant que la partie n'est pas finie while (!myTron.IsFinished()) { - // TODO Réception de la direction de chaque joueur + // Réception de la direction de chaque joueur byte[] bufferDirection = new byte[nJoueurs]; for (int i = 0; i < nJoueurs; i++) { @@ -70,20 +67,17 @@ namespace TronServeur socketJoueurs[i].Receive(dirRecue); bufferDirection[i] = dirRecue[0]; } - catch + catch(Exception e) { bufferDirection[i] = 4; socketJoueurs[i] = null; - - if (socketJoueurs.Count() == 1) - bufferDirection[i] = 5; } } - // TODO Calcul collision : myTron.Collision(byte[] <toutes les directions>); + // Calcul collision : myTron.Collision(byte[] <toutes les directions>); myTron.Collision(bufferDirection); - // TODO Envoie des directions de tous les joueurs à tous les clients + // Envoie des directions de tous les joueurs à tous les clients for (int i = 0; i < nJoueurs; i++) { if (socketJoueurs[i] != null) @@ -95,14 +89,14 @@ namespace TronServeur // ************************************* Conclusion System.Console.WriteLine("Conclusion"); - // TODO Fermeture des sockets connectées + // Fermeture des sockets connectées for(int i = 0; i < socketJoueurs.Length; i++) { if (socketJoueurs[i] != null) socketJoueurs[i].Close(); } - // TODO Fermeture socket d'écoute + // Fermeture socket d'écoute listenSocket.Close(); }