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(); }
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(); }