Example #1
0
        private void Make_Educated_Move(object sender, EventArgs e)
        {
            if (!canMove() || !player_turn || (wait_for_computer && sender.Equals(Make_A_Move)))
            {
                return;
            }
            if (sender.Equals(Make_A_Move))
            {
                used_make_move = true;
            }

            if (game_type == GameState.SINGLE_PLAYER)
            {
                player_turn = false;
            }
            wait_for_timer = true;
            PieceColor  whoseMove = logic.whoseMove();
            MoveAttempt a;

            if (MainPage.DIFFICULT && wait_for_computer)
            {
                a = logic.getHardMove();
            }
            else
            {
                a = logic.getEasyMove();
            }

            Move m = logic.makeMove(a);

            handleMove(m);
            if (!TURN_TIMER.IsEnabled)
            {
                TURN_TIMER.Start();
            }

            if (whoseMove.Equals(logic.whoseMove()))
            {
                checkerX   = a.getXEnd();
                checkerY   = a.getYEnd();
                multi_jump = true;
            }
        }