Esempio n. 1
0
 /// <summary>
 /// Collects input from user for passive turn, ensures legality, then executes move.
 /// Also updates Turn properties to reflect upcoming aggressive turn.
 /// </summary>
 private void ExecutePassiveTurn()
 {
     while (!PassiveTurnDone)
     {
         while (!GetUserInputForTurn())
         {
             CurrentGame.Refresh();
         }
         if (MoveLogic.MoveIsLegal(this.CurrentMove))
         {
             ExecuteCurrentMove(this.CurrentMove);
             CurrentPlayer.LastMoveMade = CurrentMove;
             TurnIsPassive        = false;
             PassiveTurnDone      = true;
             this.currentTurnType = TurnType.Aggressive;
         }
         else
         {
             Console.WriteLine(MoveLogic.PrintErrorMessage(this.CurrentMove) + "  Press enter to continue...");
             Console.ReadLine();
             PassiveTurnDone = false;
         }
         CurrentGame.Refresh();
     }
 }
Esempio n. 2
0
 /// <summary>
 /// Collects input from user for aggressive turn, ensures legality, then executes move.
 /// </summary>
 private void ExecuteAggressiveTurn()
 {
     while (TurnDone == false)
     {
         CurrentGame.Refresh();
         Console.WriteLine(this.CurrentPlayer.LastMoveMade);
         while (!GetUserInputForTurn())
         {
             CurrentGame.Refresh();
             Console.WriteLine(this.CurrentPlayer.LastMoveMade);
         }
         if (MoveLogic.MoveIsLegal(this.CurrentMove) && MoveLogic.MatchesPassiveMoveWhileAggressive(this.CurrentMove, this.CurrentPlayer.LastMoveMade))
         {
             ExecuteCurrentMove(this.CurrentMove);
             TurnDone = true;
         }
         else
         {
             Console.WriteLine(MoveLogic.PrintErrorMessage(this.CurrentMove) + "  Press enter to continue...");
             Console.ReadLine();
         }
     }
 }