Example #1
0
int game_end(Board board)
{
	for (int x = 0; x < board.dimx; x++)
	{
		if (check_row(board,x))
			return 1;
	}
	for (int y = 0; y < board.dimy; y++)
	{
		if (check_column(board,y))
			return 1;
	}
	if (check_diagonals(board))
		return 1;
		
	if (board.used_spaces == board.dimx * board.dimy)
		return 2;	
		
	return 0;
}
Example #2
0
double Board_2::check_board (const bool is_turn, const char player_piece) const
{
	bool is_limit = false;
	double utilitly = 0;
	double temp = 0;
	temp = check_columns(is_turn,player_piece,used_columns,columns,rows,r,board,is_limit);
	if (is_limit) 
		return temp; // if a killer move was found return that killer move
	else
		utilitly += temp;
	temp = check_rows(is_turn, player_piece, used_rows, columns, rows, r, board, is_limit);
	if (is_limit)
		return temp;
	else 
		utilitly += temp;
	temp = check_diagonals(is_turn,player_piece, columns, rows, r, board, is_limit);
	if (is_limit)
		return temp;
	else
		utilitly += temp;

	return utilitly;
}