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.
142 Bilag A<br />
593 r e t u r n ( n ) ;<br />
594 }<br />
595<br />
596<br />
597 }<br />
A.4 AI<strong>Taiji</strong>Minimax.java<br />
1 import java . u t i l . Random ;<br />
2 import java . u t i l . ArrayList ;<br />
3<br />
4 p u b l i c c l a s s AI<strong>Taiji</strong>Minimax {<br />
5 p u b l i c <strong>Taiji</strong>Model tModel ;<br />
6 p u b l i c Node tNode ;<br />
7 p u b l i c Tree tTree ;<br />
8 p u b l i c i n t count ; // f o r at t e s t e hvor mange noder der l a v e s .<br />
9 p u b l i c i n t maxDepth ; // f o r at kunne s a e t t e en max dybde paa<br />
soegningen<br />
10<br />
11 p u b l i c AI<strong>Taiji</strong>Minimax ( <strong>Taiji</strong>Model m) {<br />
12 t h i s . tModel = m;<br />
13 }<br />
14<br />
15 // F r e m s t i l l e r t r a e e t med udgangs punkt i det nuvaerende b r a e t .<br />
16 p u b l i c void c r e a t e T r e e ( )<br />
17 {<br />
18 tNode = new Node ( ) ;<br />
19 Node i n i t = tNode . createNode ( tModel . currentTurn ,<br />
tModel ) ;<br />
20 count = 1 ;<br />
21 // i n t b [ ] [ ] = tModel . getOneBoard ( tModel . currentTurn ) ;<br />
22 //Node t e s t = tNode . createCloneNode ( i n i t ) ;<br />
23 // System . out . p r i n t l n (” t e s t . par ”+ t e s t . par ) ;<br />
24 tTree = new Tree ( ) ;<br />
25 tTree . setRoot ( i n i t ) ;<br />
26<br />
27 i n t maxTurns = tModel . maxTurnsLeft ( ) ;<br />
28 System . out . p r i n t l n (” minimax max t u r n s l e f t ”+maxTurns )<br />
;<br />
29 setMaxDepth ( 1 ) ;<br />
30 // System . out . p r i n t l n (” i n i t ”) ;<br />
31 // System . out . p r i n t l n (” ”+ i n i t +” ”+ i n i t . par+” ”+ i n i t . a+”<br />
”+ i n i t . bc+” ”+ i n i t . br+” ”+ i n i t . wc+” ”+ i n i t . wr+” ”+<br />
i n i t . c h i l d r e n +” ”+ i n i t . nodeBoard+” ”+ i n i t . d ) ;<br />
32 // System . out . p r i n t l n ( i n i t . nodeBoard [ 0 ] [ 0 ] + ” ”+ i n i t .<br />
nodeBoard [ 1 ] [ 0 ] + ” ”+ i n i t . nodeBoard [ 2 ] [ 0 ] ) ;<br />
33 // System . out . p r i n t l n ( i n i t . nodeBoard [ 0 ] [ 1 ] + ” ”+ i n i t .<br />
nodeBoard [ 1 ] [ 1 ] + ” ”+ i n i t . nodeBoard [ 2 ] [ 1 ] ) ;<br />
34 // System . out . p r i n t l n ( i n i t . nodeBoard [ 0 ] [ 2 ] + ” ”+ i n i t .<br />
nodeBoard [ 1 ] [ 2 ] + ” ”+ i n i t . nodeBoard [ 2 ] [ 2 ] ) ;<br />
35<br />
36 // System . out . p r i n t l n (” minimax createChildren ”) ;<br />
37 c r e a t e C h i l d r e n ( i n i t , 0) ;