Пример #1
0
        static bool GameHasEnded(MauMauGame game)
        {
            var ended = false;

            foreach (var player in game.Players)
            {
                ended = ended || player.Sets["hand"].Cards.Count == 0;
            }
            return(ended);
        }
Пример #2
0
        static bool cardPlayable(MauMauGame game, MauMauCard card)
        {
            MauMauCard     topCard     = game.Stacks["discard-pile"].TopCard;
            MauMauCardType topCardType = (MauMauCardType)topCard.Type;

            var  alwaysPlayableValues = new Values[] { Values.Jack };
            bool colorMatch           = topCardType.Color == ((MauMauCardType)card.Type).Color;
            bool valueMatch           = topCardType.Value == ((MauMauCardType)card.Type).Value;
            bool alwaysPlayable       = alwaysPlayableValues.Contains(((MauMauCardType)card.Type).Value);

            return(colorMatch || valueMatch || alwaysPlayable);
        }
Пример #3
0
 static bool playCard(MauMauGame game, MauMauCard card)
 {
     if (cardPlayable(game, card))
     {
         card.moveTo(game.Stacks["discard-pile"]);
         card.activateEffects();
         return(true);
     }
     else
     {
         return(false);
     }
 }