1 #ifndef __MINIMAX_ENEMY_H__
2 #define __MINIMAX_ENEMY_H__
10 //using namespace std;
13 #define HeuTypeMax DBL_MAX
15 class MinimaxEnemy
: public Enemy
18 typedef double HeuType
;
19 MinimaxEnemy(bool player
, int minimaxDepth
): Enemy(player
, minimaxDepth
), _game_boards(board_compare
) {}
20 void move(Board
*board
, int& fromX
, int& fromY
, int& toX
, int& toY
);
21 HeuType
alphabeta(Board board
, int depth
, HeuType alpha
, HeuType beta
, int player
);
23 HeuType
heuristica(Board board
, bool player
);
24 HeuType
centro(Board board
, bool player
);
25 HeuType
concentration(Board board
, bool player
);
26 HeuType
centralisation(Board board
, bool player
);
27 HeuType
masscenter(Board board
, bool player
);
28 HeuType
quads(Board board
, bool player
);
29 virtual void undo(Board
*board
) {
30 _game_boards
.erase(board
->to_comp());
32 for(Board::Set::iterator i = _game_boards.begin(); i != _game_boards.end(); ++i) {
33 cout << i->first << ' ' << i->second << endl;
39 Board::Set _game_boards
;