public void newMove(int column = -1)
        {
            if (column == -1)
            {
                column = getComputerMove();
            }

            if (state.spaceInColumn(column))
            {
                if (first_move)
                {
                    first_move = false;
                }

                int    row          = state.newMove(column, player_turn);
                string checker_name = players[player_turn].color.ToLower() + row + column;
                Image  checker      = (Image)window.FindName(checker_name);
                checker.Visibility = System.Windows.Visibility.Visible;

                players[player_turn].moveMade();

                state.calculateWinningRows();
                players[player_turn].setWinningRows(state.players_winning_rows[player_turn], state.players_winning_rows[(player_turn + 1) % 2]);
                players[(player_turn + 1) % 2].setWinningRows(state.players_winning_rows[(player_turn + 1) % 2], state.players_winning_rows[player_turn]);

                window.Stats1_TextBlock.Text = players[0].getString();
                window.Stats2_TextBlock.Text = players[1].getString();

                if (state.checkIfFinished(row, column))
                {
                    game_started               = false;
                    players[player_turn].win   = true;
                    window.Turn_TextBlock.Text = "PLAYER " + players[player_turn].color + " WINS!";
                }
                else if (state.checkIfTied())
                {
                    game_started = false;
                    window.Turn_TextBlock.Text = "IT IS A TIE!";
                }

                if (game_started)
                {
                    swapPlayer();
                }
            }

            if (isCPUMove())
            {
                newMove();
            }
        }
Пример #2
0
        public GameState(MainWindow window)
        {
            checkers_count = 0;

            players_winning_rows    = new int[2];
            players_winning_rows[0] = 0;
            players_winning_rows[1] = 0;


            for (int column = 0; column < 7; column++)
            {
                for (int row = 0; row < 6; row++)
                {
                    board[row, column] = -1;
                    Image yellow = (Image)(window.FindName("yellow" + row.ToString() + column.ToString()));
                    Image red    = (Image)(window.FindName("red" + row.ToString() + column.ToString()));

                    red.Visibility    = System.Windows.Visibility.Hidden;
                    yellow.Visibility = System.Windows.Visibility.Hidden;
                }
                column_count[column] = 0;
            }
        }