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
202 Bilag A 59 g . f i l l R e c t ( c ∗ colWidth , r ∗ rowHeight , colWidth , rowHeight ) ; 60 } 61 e l s e i f ( tFrame . tModel . getPieceAt ( c , r ) == 0) 62 { 63 g . s e t C o l o r ( Color . black ) ; 64 g . f i l l R e c t ( c ∗ colWidth , r ∗ rowHeight , colWidth , rowHeight ) ; 65 } 66 } 67 } 68 } 69 } 70 71 // Klassen ScorePanel v i s e r s c o r e n f o r enten hvid e l l e r s o r t s p i l l e r . 72 //Er nedarvet f r a JPanel . 73 c l a s s ScorePanel extends JPanel 74 { 75 76 // V a r i a b e l der v i s e r s c o r e n i o e j e b l i k k e t . Samt a n g i v e r h v i l k e n s p i l l e r s c o r e ScorePanel s k a l v i s e . 77 p r i v a t e i n t s c o r e ; 78 p r i v a t e i n t playerNumber ; 79 80 //En TaijiFrame som metoderne i T a i j i P a n e l kan r e f e r e r e t i l . 81 p r i v a t e TaijiFrame tFrame ; 82 83 // Constructor . 84 // Modtager en frame og en s p i l l e r som argumenter . 85 p u b l i c ScorePanel ( TaijiFrame frame , i n t p l a y e r ) 86 { 87 tFrame = frame ; 88 playerNumber = p l a y e r ; 89 t h i s . s e t P r e f e r r e d S i z e ( new Dimension ( 5 0 , 5 0 0 ) ) ; 90 } 91 92 // V i s e r g r a f i s k s t i l l i n g e n f o r de to s p i l l e r . 93 p u b l i c void paintComponent ( Graphics g ) 94 { 95 super . paintComponent ( g ) ; 96 S t r i n g s c o r e S t r i n g ; 97 i n t middleHeight = ( t h i s . getHeight ( ) /2) ; 98 i n t middleWidth = ( t h i s . getWidth ( ) /2) ; 99 i f ( playerNumber == 1) 100 { 101 s c o r e = tFrame . tModel . getWhiteScore ( ) ; 102 s c o r e S t r i n g = ”” + s c o r e ; 103 t h i s . setBackground ( Color . gray ) ; 104 g . s e t C o l o r ( Color . white ) ; 105 g . drawString ( s c o r e S t r i n g , middleWidth , middleHeight ) ; 106 } 107 e l s e 108 {
A.14 TaijiPanels.java 203 109 s c o r e = tFrame . tModel . g e t B l a c k S c o r e ( ) ; 110 s c o r e S t r i n g = ”” + s c o r e ; 111 t h i s . setBackground ( Color . gray ) ; 112 g . s e t C o l o r ( Color . black ) ; 113 g . drawString ( s c o r e S t r i n g , middleWidth , middleHeight ) ; 114 } 115 } 116 } 117 118 // Klassen TurnPanel v i s e r h v i l k e n f a r v e s tur det e r . Bruges ogsaa t i l at gaa frem og t i l b a g e gennem t urene . 119 //Er nedarvet f r a JPanel . 120 c l a s s TurnPanel extends JPanel 121 { 122 p r i v a t e TaijiFrame uFrame ; 123 124 //En l a b e l som v i s e r hvor mange b r i k k e r der e r b l e v e t l a g t ( tur ) . 125 p r i v a t e JLabel uLabel ; 126 127 // Constructor . 128 // Modtager TaijiFrame som argument . 129 p u b l i c TurnPanel ( TaijiFrame frame ) 130 { 131 uFrame = frame ; 132 133 t h i s . s e t P r e f e r r e d S i z e ( new Dimension ( 5 0 0 , 5 0 ) ) ; 134 t h i s . setBackground ( Color . l i g h t G r a y ) ; 135 136 137 BorderLayout bLayout = new BorderLayout ( ) ; 138 t h i s . setLayout ( bLayout ) ; 139 140 JButton fButton = new JButton (” Next Turn ”) ; 141 JButton bButton = new JButton (” Last Turn ”) ; 142 uLabel = new JLabel (””+ uFrame . tModel . getShowTurn ( ) , SwingConstants .CENTER) ; 143 144 t h i s . add ( fButton , ” East ”) ; 145 t h i s . add ( uLabel , ” Center ”) ; 146 t h i s . add ( bButton , ”West ”) ; 147 148 TurnListener t L i s t = new TurnListener ( uFrame ) ; 149 fButton . a d d A c t i o n L i s t e n e r ( t L i s t ) ; 150 bButton . a d d A c t i o n L i s t e n e r ( t L i s t ) ; 151 152 } 153 154 // Opdaterer uLabel og s k i f t e r baggrundsfarven e f t e r h v i l k e n s p i l l e r s tur det e r . 155 p u b l i c void update ( ) 156 { 157 uLabel . setText (””+uFrame . tModel . getShowTurn ( ) ) ; 158 i f ( uFrame . tModel . g e t C u r r e n t P l a y e r ( ) == 1)
- Page 162 and 163: 152 Bilag A 481 } 482 r e t u r n (
- Page 164 and 165: 154 Bilag A 532 // System . out . p
- Page 166 and 167: 156 Bilag A 33 p u b l i c i n t [
- Page 168 and 169: 158 Bilag A 137 f o r ( i n t r =0;
- Page 170 and 171: 160 Bilag A 245 f o r ( i n t r =0;
- Page 172 and 173: 162 Bilag A 353 break ; 354 } 355 i
- Page 174 and 175: 164 Bilag A 94 } 95 { // H o r i s
- Page 176 and 177: 166 Bilag A 198 p r i v a t e void
- Page 178 and 179: 168 Bilag A 303 f [ 1 ] [ 0 ] [ 1 ]
- Page 180 and 181: 170 Bilag A 409 f o r ( i n t r =0;
- Page 182 and 183: 172 Bilag A 43 p u b l i c Node cre
- Page 184 and 185: 174 Bilag A 27 whiteScore = new Sco
- Page 186 and 187: 176 Bilag A 65 bc = 1 ; 66 e l s e
- Page 188 and 189: 178 Bilag A 58 p u b l i c void mou
- Page 190 and 191: 180 Bilag A 149 S t r i n g t x t =
- Page 192 and 193: 182 Bilag A l o a d i n g the f i l
- Page 194 and 195: 184 Bilag A 7 p u b l i c AITaijiMi
- Page 196 and 197: 186 Bilag A 105 i f ( b l a c k P l
- Page 198 and 199: 188 Bilag A 211 tBoard . s e t P i
- Page 200 and 201: 190 Bilag A 315 { 316 f o r ( i n t
- Page 202 and 203: 192 Bilag A 416 { 417 //Bunden 418
- Page 204 and 205: 194 Bilag A 510 p r i v a t e boole
- Page 206 and 207: 196 Bilag A 612 } 613 614 // b e r
- Page 208 and 209: 198 Bilag A 702 } 703 704 // s a e
- Page 210 and 211: 200 Bilag A 802 p u b l i c void ne
- Page 214 and 215: 204 Bilag A 159 { 160 t h i s . set
- Page 216 and 217: 206 Bilag A 81 System . out . p r i
- Page 218 and 219: 208 Bilag A [ 1 ] [ 7 ] + ” ”+n
- Page 220 and 221: 210 Bilag A 176 System . out . p r
- Page 222 and 223: 212 Bilag A 212 System . out . p r
- Page 224 and 225: 214 Bilag A 246 System . out . p r
- Page 226 and 227: 216 Bilag A [ 8 ] [ 2 ] ) ; 277 i f
- Page 228 and 229: 218 Bilag A 326 p u b l i c void pr
- Page 230 and 231: 220 Bilag A 393 i f ( tModel . noRo
- Page 232 and 233: 222 Bilag A 449 i f ( tModel . noRo
- Page 234 and 235: 224 Bilag A 501 System . out . p r
- Page 236 and 237: 226 Bilag A 30 31 tFrame = frame ;
- Page 238 and 239: 228 Bilag A 135 tFrame . tModel . s
- Page 240 and 241: 230
- Page 242 and 243: 232 Bilag B ”Introduction to Algo
- Page 244: 234
A.14 <strong>Taiji</strong>Panels.java 203<br />
109 s c o r e = tFrame . tModel . g e t B l a c k S c o r e ( ) ;<br />
110 s c o r e S t r i n g = ”” + s c o r e ;<br />
111 t h i s . setBackground ( Color . gray ) ;<br />
112 g . s e t C o l o r ( Color . black ) ;<br />
113 g . drawString ( s c o r e S t r i n g , middleWidth , middleHeight<br />
) ;<br />
114 }<br />
115 }<br />
116 }<br />
117<br />
118 // Klassen TurnPanel v i s e r h v i l k e n f a r v e s tur det e r . Bruges ogsaa<br />
t i l at gaa frem og t i l b a g e gennem t urene .<br />
119 //Er nedarvet f r a JPanel .<br />
120 c l a s s TurnPanel extends JPanel<br />
121 {<br />
122 p r i v a t e <strong>Taiji</strong>Frame uFrame ;<br />
123<br />
124 //En l a b e l som v i s e r hvor mange b r i k k e r der e r b l e v e t l a g t ( tur<br />
) .<br />
125 p r i v a t e JLabel uLabel ;<br />
126<br />
127 // Constructor .<br />
128 // Modtager <strong>Taiji</strong>Frame som argument .<br />
129 p u b l i c TurnPanel ( <strong>Taiji</strong>Frame frame )<br />
130 {<br />
131 uFrame = frame ;<br />
132<br />
133 t h i s . s e t P r e f e r r e d S i z e ( new Dimension ( 5 0 0 , 5 0 ) ) ;<br />
134 t h i s . setBackground ( Color . l i g h t G r a y ) ;<br />
135<br />
136<br />
137 BorderLayout bLayout = new BorderLayout ( ) ;<br />
138 t h i s . setLayout ( bLayout ) ;<br />
139<br />
140 JButton fButton = new JButton (” Next Turn ”) ;<br />
141 JButton bButton = new JButton (” Last Turn ”) ;<br />
142 uLabel = new JLabel (””+ uFrame . tModel . getShowTurn ( ) ,<br />
SwingConstants .CENTER) ;<br />
143<br />
144 t h i s . add ( fButton , ” East ”) ;<br />
145 t h i s . add ( uLabel , ” Center ”) ;<br />
146 t h i s . add ( bButton , ”West ”) ;<br />
147<br />
148 TurnListener t L i s t = new TurnListener ( uFrame ) ;<br />
149 fButton . a d d A c t i o n L i s t e n e r ( t L i s t ) ;<br />
150 bButton . a d d A c t i o n L i s t e n e r ( t L i s t ) ;<br />
151<br />
152 }<br />
153<br />
154 // Opdaterer uLabel og s k i f t e r baggrundsfarven e f t e r h v i l k e n<br />
s p i l l e r s tur det e r .<br />
155 p u b l i c void update ( )<br />
156 {<br />
157 uLabel . setText (””+uFrame . tModel . getShowTurn ( ) ) ;<br />
158 i f ( uFrame . tModel . g e t C u r r e n t P l a y e r ( ) == 1)