public Game(IDeckFactory factory, GameID id) { ID = id; DeckFactory = factory; DrawPile = factory.CreateDefaultDrawableDeck(); DiscardPile = factory.CreateDefaultPlayableDeck(); }
public bool IsValidMove(IPlayableDeck deck, Card card) { var top = deck.GetTopCard(); return(top.Color == CardColor.Wild || top.Color == card.Color || top.Type == card.Type); }
public void ShuffleDrawPile() { DrawPile = DeckFactory.CreateDrawableDeck(DiscardPile.Cards); DiscardPile = DeckFactory.CreateDefaultPlayableDeck(); }