コード例 #1
0
        private void cleanInstances()
        {
            int pos = 0;

            while (true)
            {
                //Lock
                Lock.WaitOne();
                if (GameInstances.Count > 0)
                {
                    if (!ConnUtility.TestClient(GameInstances.ElementAt(pos).Joueur2) && !ConnUtility.TestClient(GameInstances.ElementAt(pos).Joueur1))
                    {
                        GameInstances.Remove(GameInstances.ElementAt(pos));
                    }
                    else
                    {
                        pos++;
                    }
                }
                if (pos >= GameInstances.Count)
                {
                    pos = 0;
                }
                //Unlock
                Lock.ReleaseMutex();
            }
            //List<GameInstance> Rip = new List<GameInstance>();
            ////ici
            //foreach (GameInstance instance in GameInstances)
            //{
            //    if (!ConnUtility.TestClient(instance.Joueur2) && !ConnUtility.TestClient(instance.Joueur1))
            //        Rip.Add(instance);

            //    /*if ((instance.Joueur1 == null || !instance.Joueur1.Connected) && (instance.Joueur2 == null || !instance.Joueur2.Connected))
            //    {

            //            GameInstances.Remove(instance);
            //    }
            //    else if(instance.Joueur1 != null && instance.Joueur2 != null)
            //        if (!testconn(instance.Joueur2) && !testconn(instance.Joueur1))
            //            GameInstances.Remove(instance);*/

            //}

            //foreach (GameInstance instance in Rip)
            //{
            //    GameInstances.Remove(instance);
            //}
        }
コード例 #2
0
 public void AjoutJoueur(TcpClient client)
 {
     if (ConnUtility.TestClient(Joueur1))
     {
         Joueur2            = client;
         IsWaitingForPlayer = false;
         jeu = new Thread(StartGame);
         jeu.Start();
     }
     else
     {
         LogConsole.LogWithTime("La connection à " + ConnUtility.GetIP(Joueur1) + " à été terminer");
         Joueur1 = client;
     }
 }