Exemplo n.º 1
0
 /*
  * Method that is called when SwitchOver event of the model is invoked
  */
 private void OnSwitchMove(object sender, SwitchMoveEventArgs eventArgs)
 {
     if (eventArgs.CurrentPlayerColor == currentColor)
     {
         GameIsOver = false;
     }
 }
Exemplo n.º 2
0
 /*
  * Method that makes move if it is current user turn
  */
 private void OnSwitchMove(object sender, SwitchMoveEventArgs eventArgs)
 {
     if (eventArgs.CurrentPlayerColor == currentColor)
     {
         MakeMove(eventArgs.AllowedCells);
     }
 }
Exemplo n.º 3
0
        private void SwitchMoveConsideringUserType(object sender, SwitchMoveEventArgs e)
        {
            /*
             * if it's HumanToHuman mode
             * or it's HumanToRobot mode but robot turn
             * or robot move is not currently delayed
             * => do not make delay
             * else make delay
             */
            if (currentMode == GameMode.HumanToHuman || e.CurrentPlayerColor != playerColor || !delayRobotMoveTimer.IsRunning)
            {
                SwitchTurn(e.AllowedCells, e.CurrentPlayerColor);
                return;
            }

            delayRobotMoveQueue.AddDelegate(() => { SwitchTurn(e.AllowedCells, e.CurrentPlayerColor); });
        }