Exemple #1
0
    public static void Main()
    {
        tcpListener.Start();

        Console.WriteLine("************Hello World************");
        while (!(nbClients <= 4 && nbClients >= 2))
        {
            Console.WriteLine("How many clients are going to play ? (between 2 to 4)");
            nbClients = int.Parse(Console.ReadLine());
        }

        Server.Card c = new Server.Card(nbClients);
        pl = new Server.Player[nbClients];
        for (int i = 0; i < nbClients; i++)
        {
            c.strtab[i] = c.distribution();
            pl[i]       = new Server.Player(i, replacing(c.strtab[i]));
            Console.WriteLine(pl[i].nb + " = " + pl[i].cards);
            Listeners(pl[i]);
        }

        while (true)
        {
            for (int turn = 0; turn < nbClients; turn++)
            {
                turn = play(pl[turn]);
                if (turn == nbClients)
                {
                    writeForEverybody("player " + (turn - 1) + " played " + lastPlay);
                    if (isWinner(pl[turn - 1].cards))
                    {
                        writeForEverybody("player " + (turn - 1) + " win the game");
                        Thread.Sleep(1000);
                        Environment.Exit(1);
                    }
                    turn = 0;
                }
                else
                {
                    writeForEverybody("player " + turn + " played " + lastPlay);
                    if (isWinner(pl[turn].cards))
                    {
                        writeForEverybody("player " + (turn) + " win the game");
                        Thread.Sleep(1000);
                        Environment.Exit(1);
                    }
                }
                if (passCount == nbClients)
                {
                    writeForEverybody("Nobody can play, this is a new turn.");
                    isFirstTurn = true;
                }
            }
        }
    }
 public void NewRound()
 {
     waitingFor.AddRange(players);
     waitingFor.RemoveAt(CzarCounter);
     this.currentBlackCard = blackDeck.Pop();
     currentPlayerCards.Clear();
     roundWinner = "wait";
     winCards = "";
 }