Kunstig Intelligens til Brætspillet Taiji - Danmarks Tekniske Universitet
Kunstig Intelligens til Brætspillet Taiji - Danmarks Tekniske Universitet
Kunstig Intelligens til Brætspillet Taiji - Danmarks Tekniske Universitet
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
184 Bilag A<br />
7 p u b l i c AI<strong>Taiji</strong>Minimax minimax ;<br />
8 p u b l i c FigureMap fMap ;<br />
9 p u b l i c Board tBoard ;<br />
10 p u b l i c <strong>Taiji</strong>Hash tHash ;<br />
11 p u b l i c T a i j i P r i n t t P r i n t ;<br />
12 p u b l i c AI<strong>Taiji</strong>AlphaBeta alphaBeta ;<br />
13 p u b l i c AI<strong>Taiji</strong>PureAlphaBeta pureAlphaBeta ;<br />
14 p u b l i c AI<strong>Taiji</strong>Minimax2 minimax2 ;<br />
15 p u b l i c AI<strong>Taiji</strong>Growth growth ;<br />
16 p u b l i c AI<strong>Taiji</strong>LocalAreaAB localAreaAB ;<br />
17<br />
18<br />
19 // V a r i a b l e r<br />
20 p u b l i c i n t noRows , noCols ; // a n t a l l e t a f r a e k k e r og kolonner<br />
21 p u b l i c i n t maxTurns = 1 0 0 0 ; // max a n t a l t u r e programmet kan<br />
haandtere<br />
22 p u b l i c i n t maxScore ; // Score h v i s e t h e l t b r a e t var daekket a f<br />
en f a r v e .<br />
23 p u b l i c i n t maxS ; // den maximale s c o r e f o r en s p i l l e r .<br />
24 // ( h v i s a l l e b r i k k e r a f en f a r v e e r med i<br />
enten den s t o e r s t e e l l e r n a e s t s t o e r s t e<br />
f i g u r )<br />
25<br />
26 f i n a l p r i v a t e i n t white = 1 , black = 0 , n e u t r a l = 2 ; //<br />
Konstanter f o r de f o r s k e l l i g e b r i k k e r paa b r a e t t e t .<br />
27<br />
28 // o e j e b l i k s −i n f o r m a t i o n f o r s p i l l e t .<br />
29 p r i v a t e i n t c u r r e n t P l a y e r = 1 ;<br />
30 p u b l i c i n t currentTurn = 1 , noTurns = 1 , showTurn = 0 , s t a r t e r<br />
= 1 ;<br />
31 p r i v a t e i n t whScore =0, b l S c o r e =0;<br />
32 p r i v a t e i n t whitePlayer = 0 , b l a c k P l a y e r = 2 ; // 0 human , 1<br />
minimax , 2 ab , 3 pure ab , 4 growth , 5 minimax2 , 6<br />
localAreaAB<br />
33<br />
34 p r i v a t e i n t preCol , preRow ; // husker f o r r i g e k l i k , som sammen<br />
med det nye k l i k b l i v e r t i l p l a c e r i n g e n a f en b r i k .<br />
35 p r i v a t e boolean c l i c k = f a l s e ;<br />
36 p r i v a t e boolean gameOver = f a l s e ;<br />
37<br />
38<br />
39 // Konstruktor . Laver b r a e t t e t . Modtager a n t a l l e t a f s o e j l e r og<br />
r a e k k e r som argumenter .<br />
40 p u b l i c <strong>Taiji</strong>Model ( i n t col , i n t row )<br />
41 {<br />
42 noCols = c o l ;<br />
43 minimax = new AI<strong>Taiji</strong>Minimax ( t h i s ) ;<br />
44 alphaBeta = new AI<strong>Taiji</strong>AlphaBeta ( t h i s ) ;<br />
45 pureAlphaBeta = new AI<strong>Taiji</strong>PureAlphaBeta ( t h i s ) ;<br />
46 minimax2 = new AI<strong>Taiji</strong>Minimax2 ( t h i s ) ;<br />
47 growth = new AI<strong>Taiji</strong>Growth ( t h i s ) ;<br />
48 localAreaAB = new AI<strong>Taiji</strong>LocalAreaAB ( t h i s ) ;<br />
49 fMap = new FigureMap ( t h i s ) ;<br />
50 tBoard = new Board ( t h i s ) ;<br />
51 tHash = new <strong>Taiji</strong>Hash ( t h i s ) ;