Change board traversal dir for minimax search
This commit is contained in:
parent
7415fac59b
commit
76db9c8b8c
6
game.cpp
6
game.cpp
|
@ -130,7 +130,7 @@ void Game::do_ai_move()
|
||||||
|
|
||||||
for(int x = 0; x < BOARD_SIZE; x++)
|
for(int x = 0; x < BOARD_SIZE; x++)
|
||||||
{
|
{
|
||||||
for(int y = 0; y < BOARD_SIZE; y++)
|
for(int y = BOARD_SIZE-1; y >= 0; y--)
|
||||||
{
|
{
|
||||||
Piece cur_piece = board.get_piece(x,y);
|
Piece cur_piece = board.get_piece(x,y);
|
||||||
if (cur_piece.get_team() == BLACK)
|
if (cur_piece.get_team() == BLACK)
|
||||||
|
@ -214,9 +214,11 @@ int Game::minimax(Board current_board, int depth, int max_depth, int a, int b, b
|
||||||
int finished_threads = 0;
|
int finished_threads = 0;
|
||||||
std::mutex mut_finished_threads;
|
std::mutex mut_finished_threads;
|
||||||
|
|
||||||
|
int y_start=(maximizing)?(BOARD_SIZE-1):0, y_increment=(maximizing)?-1:1;
|
||||||
|
|
||||||
for(int x = 0; x < BOARD_SIZE && !a_eject && !b_eject; x++)
|
for(int x = 0; x < BOARD_SIZE && !a_eject && !b_eject; x++)
|
||||||
{
|
{
|
||||||
for(int y = 0; y < BOARD_SIZE && !a_eject && !b_eject; y++)
|
for(int y = y_start; y >= 0 && y < BOARD_SIZE && !a_eject && !b_eject; y+=y_increment)
|
||||||
{
|
{
|
||||||
if (current_board.get_piece(x,y).get_team() == (maximizing?BLACK:WHITE))
|
if (current_board.get_piece(x,y).get_team() == (maximizing?BLACK:WHITE))
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue