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.
A.13 <strong>Taiji</strong>Model.java 185<br />
52 t P r i n t = new T a i j i P r i n t ( t h i s ) ;<br />
53 noRows = row ;<br />
54 tBoard . board = new i n t [ maxTurns ] [ noCols ] [ noRows ] ;<br />
55 maxScore = noCols ∗noRows ;<br />
56 maxS = noCols ∗noRows / 2 ;<br />
57 r e s e t ( ) ;<br />
58 }<br />
59<br />
60<br />
61 // Reset . Toemmer b r a e t t e t , s a e t t e r o e j e b l i k s v a e r d i e r n e t i l<br />
u d g a n g s p o s i t i o n e n .<br />
62 p u b l i c void r e s e t ( )<br />
63 {<br />
64 currentTurn = 1 ;<br />
65 showTurn = 0 ;<br />
66 f o r ( i n t c = 0 ; c < noCols ; c++)<br />
67 {<br />
68 f o r ( i n t r = 0 ; r < noRows ; r++)<br />
69 {<br />
70 tBoard . s e t P i e c e ( c , r , 2 ) ;<br />
71 }<br />
72 }<br />
73 c u r r e n t P l a y e r = 1 ;<br />
74 tBoard . board [ 0 ] [ 0 ] [ 0 ] = 1 ;<br />
75 }<br />
76<br />
77<br />
78 // haandtere t r a e k f o r menneskelig s p i l l e r e r og AI ’ erne<br />
79 // r e t u r n e r e om der e r en v i n d e r .<br />
80 p u b l i c S t r i n g move ( i n t curCol , i n t curRow )<br />
81 {<br />
82 S t r i n g winner = ”None ” ;<br />
83<br />
84 i f ( showTurn % 2 != s t a r t e r ) { // == 0 , s t a r t e r s p i l l e r e n (<br />
hvid ) , == 1 s t a r t e r ai ’ en ( s o r t )<br />
85 i f ( whitePlayer == 0)<br />
86 playerTurn ( curCol , curRow , f a l s e ) ;<br />
87 i f ( whitePlayer == 2)<br />
88 alphaBetaTurn ( f a l s e ) ;<br />
89 i f ( whitePlayer == 4)<br />
90 growthTurn ( f a l s e ) ;<br />
91 i f ( whitePlayer == 6)<br />
92 localAreaABTurn ( f a l s e ) ;<br />
93<br />
94 }<br />
95 e l s e<br />
96 {<br />
97 i f ( b l a c k P l a y e r == 0)<br />
98 playerTurn ( curCol , curRow , t r u e ) ;<br />
99 i f ( b l a c k P l a y e r == 1)<br />
100 minimaxTurn ( ) ;<br />
101 i f ( b l a c k P l a y e r == 2)<br />
102 alphaBetaTurn ( t r u e ) ;<br />
103 i f ( b l a c k P l a y e r == 3)<br />
104 pureAlphaBetaTurn ( ) ;