Beispiel #1
0
        void JudgeIndividualJade(ICard cardJade, IPlayer playerPlaying, IPlayer playerReceiving)
        {
            // TODO Do we need to do this everywhere for jade, prison and bomb? Seriously?
            ICard cardUsedToJudge = CentralCardDeck.DrawACard();

            Util.PrintPlayerAction(playerReceiving, cardUsedToJudge, PlayerAction.Judge);

            if (CardJudge.CardJudgingResult(cardJade, cardUsedToJudge))
            {
                CardJudge.CardTakeEffect(playerPlaying, playerReceiving, cardJade, null);
                Util.PrintPlayerAction(playerReceiving, cardJade, PlayerAction.JadeTakeEffect);
            }
            else
            {
                CardJudge.CardNotTakeEffect(null, playerPlaying, playerReceiving, cardJade);
                Util.PrintPlayerAction(playerReceiving, cardJade, PlayerAction.JadeNotTakeEffect);
            }
        }
Beispiel #2
0
        void JudgeIndividualBomb(List <IPlayer> playerList, IPlayer playerCarrying)
        {
            ICard cardBombCarrying = playerCarrying.CardCarrying.Find(c => c.CardCarryingType == CarriedType.Bomb);

            if (cardBombCarrying == null)
            {
                // Early out if no bomb found
                return;
            }

            ICard cardUsedToJudge = null;

            //IPlayer playerResponding;
            // Raise the ResponseNeeded event
            ICard cardResponded = AllPlayersCanRespond(cardBombCarrying, null);

            if (cardResponded != null)
            {
                Util.PrintPlayerAction(cardResponded.PlayerPlaying, cardResponded, PlayerAction.Counter);
                CardJudge.CardNotTakeEffect(PlayerList, null, playerCarrying, cardBombCarrying);
                Util.PrintPlayerAction(playerCarrying, null, PlayerAction.BombNotTakeEffect);
            }
            else
            {
                Util.PrintPlayerAction(playerCarrying, null, PlayerAction.NoResponseFromAll);
                cardUsedToJudge = CentralCardDeck.DrawACard();
                Util.PrintPlayerAction(playerCarrying, cardUsedToJudge, PlayerAction.Judge);

                if (CardJudge.CardJudgingResult(cardBombCarrying, cardUsedToJudge))
                {
                    CardJudge.CardTakeEffect(null, playerCarrying, cardBombCarrying, null);
                    Util.PrintPlayerAction(playerCarrying, null, PlayerAction.BombTakeEffect);
                    Util.PrintPlayerAction(playerCarrying, null, PlayerAction.TakeDamage);
                }
                else
                {
                    CardJudge.CardNotTakeEffect(PlayerList, null, playerCarrying, cardBombCarrying);
                    Util.PrintPlayerAction(playerCarrying, null, PlayerAction.BombNotTakeEffect);
                }
            }
        }