Beispiel #1
0
        private void Square_Clicked(object sender, RoutedEventArgs e)
        {
            if (gameOver == true)
                return;

            Button b = (Button)sender;
            Debug.WriteLine("Button " + b.Name + "Source");

            GameAI.value alpha = GameAI.value.oWins, beta = GameAI.value.xWins;

            if(ComputerMoveFirst == true) {
                player = GameAI.opponent.O; computer = GameAI.opponent.X;
            }

            int row = 0, col = 0;
            GetRowColFromName(b.Name, ref row, ref col);
            SetSelectedGameSquare(b, player, row, col);

            int bestRow=0, bestColumn=0;
            GameAI.value res;

            res = gameEngine.GenerateMove(computer, ref bestRow, ref bestColumn, alpha, beta);

            b = FindButton(bestRow, bestColumn);

            if (b != null) {
                SetSelectedGameSquare(b, computer, bestRow, bestColumn);
            }

            state = EvaulateGame();

            Debug.WriteLine("Evaluate:" + state);
            Debug.WriteLine("Checked:" + ComputerMoveFirst);
        }
Beispiel #2
0
        private void ResetGame()
        {
            gameOver = false;
            state = GameAI.value.unclear;
            GameResult.Text = "";

            gameEngine.ResetBoard();
            Button b;

            for (int i=0; i < gameEngine.NumberOfRows(); i++) {
                for (int x=0; x < gameEngine.NumberOfColumns(); x++) {
                    b = FindButton(i,x);
                    b.Content = null;
                }
            }
        }