Esempio n. 1
0
        public void setBid(Player player, Packet packet)
        {
            if (packet.Type.Equals(Packet.Types.Type.Unknown))
            {
                nextAction.notifyPlayer();
                return;
            }
            var valueFromPacket = packet.Bid.Value;

            if (packet.Bid.Action == Bid.Types.Action.Bid)
            {
                Console.WriteLine(packet);
                if (value < valueFromPacket && (valueFromPacket % 10) == 0 &&
                    valueFromPacket >= 80 && valueFromPacket <= 650)
                {
                    atout      = packet.Bid.Atout;
                    value      = packet.Bid.Value;
                    teamWhoBid = player.team;
                    nbOfPass   = 0;
                }
                else
                {
                    nextAction.player.write("Wrong bid, must be 10 by 10 and higher than the last one", true, true);
                    nextAction.notifyPlayer();
                    return;
                }
            }
            else
            {
                nbOfPass++;
            }
            if (isBidEnded())
            {
                currentPlayer = 0;
                room.writeToRoom("Bid stage is over", true, false);
                room.writeToRoom("Current bid is : " + atout + " - " + value, true, true);
            }
            setNextAction(isBidEnded() ? Packet.Types.Type.Stage : Packet.Types.Type.Bid);
            nextAction.notifyPlayer();
        }
Esempio n. 2
0
 public void run()
 {
     foreach (var player in room.players)
     {
         player.hand.cards.Clear();
     }
     currentPlayer = 0;
     value         = 0;
     nbOfPass      = 0;
     teamWhoBid    = 0;
     atout         = Bid.Types.Atout.Unknown;
     cardsOnBoard.Clear();
     room.writeToRoom("New round starting", true, false);
     heap.create();
     room.writeToRoom("Dealing cards", true, false);
     heap.deal(room.players);
     foreach (var player in room.players)
     {
         player.displayHand();
     }
     setNextAction(Packet.Types.Type.Bid);
     nextAction.notifyPlayer();
 }