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

09.09.2013 Views

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)

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)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!