Пример #1
0
        public void Play(Player p, Supply s)
        {
            //Player gains the first two treasures
            var discards = new List<Card>();
            int numTreasuresAdded = 0;

            Card card;
            do
            {
                card = p.PopDeck();
                if (card is ITreasureCard)
                {
                    numTreasuresAdded++;
                    p.PutInHand(card);
                }
                else
                {
                    discards.Add(card);
                }

            } while (numTreasuresAdded < 2 && card != null);

            foreach (Card c in discards)
            {
                p.Gain(c);
            }
        }
Пример #2
0
 public GameState GetState(Player p, Supply s)
 {
     if (p.GetHandCards().Count == 0)
     {
         return ActionState.NextState(p, s);
     }
     else
     {
         return new CellarGameState(p, s);
     }
 }
Пример #3
0
        public Game()
        {
            player = new Player();
            supply = new Supply();

            for(int i =0; i < 7; i++)
            {
                player.Gain( supply.Release("Copper"));
            }
            Card e = new Estate();
            for(int i =0; i < 3; i++)
            {
                player.Gain( e );
            }

            gameState = new GameStateContext(player, supply);
            gameState.StateChange += () =>
                {
                    OnStateChange();
                };

            player.NewHand();
        }
Пример #4
0
 public WorkshopGameState(Player p, Supply s)
 {
     player = p;
     supply = s;
 }
Пример #5
0
 public void Play(Player p, Supply s)
 {
 }
Пример #6
0
 public GameState GetState(Player p, Supply s)
 {
     return new WorkshopGameState(p, s);
 }
Пример #7
0
 public void Play(Player p, Supply s)
 {
     p.NumBuys += 1;
 }
Пример #8
0
 public void Play(Player p, Supply s)
 {
     p.ExpandHand(3);
 }
Пример #9
0
 public CellarGameState(Player p, Supply s)
 {
     player = p;
     supply = s;
     discards = new List<Card>();
 }
Пример #10
0
 public void Play(Player p, Supply s)
 {
     p.NumActions += 1;
 }
Пример #11
0
 public void Play(Player p, Supply s)
 {
     p.ExpandHand(1);
     p.NumActions += 1;
     p.NumBuys += 1;
 }