-
Notifications
You must be signed in to change notification settings - Fork 0
/
tree_ai.ads
35 lines (26 loc) · 994 Bytes
/
tree_ai.ads
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
with Basic_AI;
-- with Board_Package;
generic
with package Basic_AI_I is new Basic_AI (<>);
package Tree_AI is
use Basic_AI_I;
use Board_Package_I;
subtype Huristic_Val is Integer;
type Huristic_Ptr is access function (Board : Board_T;
Player : Player_T) return Huristic_Val;
type Minimax_AI is new Kalaha_AI with record
Huristic : Huristic_Ptr;
Depth : Positive;
end record;
overriding function Next (Ai : Minimax_AI;
Board : Board_T;
Player : Player_T) return Side_Index;
type Alpha_Beta_AI is new Kalaha_AI with record
Huristic : Huristic_Ptr;
Depth : Positive;
end record;
overriding function Next (Ai : Alpha_Beta_AI;
Board : Board_T;
Player : Player_T) return Side_Index;
function Pond_Diff (Board : Board_T; Player : Player_T) return Huristic_Val;
end Tree_AI;