Exemplo n.º 1
0
        public void performDynastyPhase()
        {
            if (gs.activePlayer.hasPassed)
            {
                //end of turn
                try
                {
                    gs.activePlayer.pHand.addCardToHand(gs.activePlayer.pFateDeck.drawTopCard());

                    if (gs.activePlayer.pHand.getCardsInHand().Count > gs.activePlayer.maxHandSize)
                    {
                        //Player Must discard down to 8 cards
                    }
                }
                catch
                {
                    Console.WriteLine("Out of fate deck");
                }


                gs.swapActivePlayer();
                gs.isDynastyPhase = false;
                gs.isActionPhase  = true;
                gs.actionPhase    = null;
                Console.WriteLine(gs.activePlayer.aLabel);
                return;
            }

            if (gs.currentActionBeingPlayed == null)
            {
                this.setActionListInGameState();
                Console.WriteLine("Perform Action phase:Setting action List");
                gs.pickAction();
                return;
            }


            //If both players have passed their interrupts, resolve the action
            if (gs.activePlayer.InterruptHasPassed && gs.inactivePlayer.InterruptHasPassed)
            {
                gs.currentActionBeingPlayed.resolveEffects();
                gs.player1.InterruptHasPassed = false;
                gs.player2.InterruptHasPassed = false;
                gs.currentActionBeingPlayed.actionPerformed = true;
                gs.currentActionBeingPlayed = null;
                return;
            }
            else
            {
                this.setInterruptListGameState();
                gs.pickAction();
            }
        }