@@ -89,7 +89,6 @@ const Board = () => {
89
89
}
90
90
91
91
const determineWinner = ( playerXSquares , playerOSquares ) => {
92
-
93
92
function checkRows ( ) {
94
93
if (
95
94
( playerXSquares . includes ( 0 ) && playerXSquares . includes ( 1 ) && playerXSquares . includes ( 2 ) ) ||
@@ -106,7 +105,6 @@ const Board = () => {
106
105
) {
107
106
return setWinner ( 'Player O' ) ;
108
107
}
109
-
110
108
}
111
109
112
110
function checkColumns ( ) {
@@ -127,13 +125,13 @@ const Board = () => {
127
125
}
128
126
}
129
127
130
- function checkDiagnols ( ) {
128
+ function checkDiagonals ( ) {
131
129
if ( playerXSquares . includes ( 4 ) ) {
132
130
if ( ( playerXSquares . includes ( 0 ) && playerXSquares . includes ( 8 ) ) || ( playerXSquares . includes ( 2 ) && playerXSquares . includes ( 6 ) ) ) {
133
131
return setWinner ( 'Player X' ) ;
134
132
}
135
133
}
136
- if ( playerOSquares . includes ( 4 ) ) {
134
+ if ( playerOSquares . includes ( 4 ) ) {
137
135
if ( ( playerOSquares . includes ( 0 ) && playerOSquares . includes ( 8 ) ) || ( playerOSquares . includes ( 2 ) && playerOSquares . includes ( 6 ) ) ) {
138
136
return setWinner ( 'Player O' ) ;
139
137
}
@@ -143,7 +141,7 @@ const Board = () => {
143
141
if ( winner === 'None' ) {
144
142
checkRows ( ) ;
145
143
checkColumns ( ) ;
146
- checkDiagnols ( ) ;
144
+ checkDiagonals ( ) ;
147
145
}
148
146
}
149
147
@@ -166,19 +164,73 @@ const Board = () => {
166
164
< button onClick = { reset } style = { buttonStyle } > Reset</ button >
167
165
< div style = { boardStyle } >
168
166
< div className = "board-row" style = { rowStyle } >
169
- < Square disabled = { playerXSquares . includes ( 0 ) || playerOSquares . includes ( 0 ) || winner !== 'None' } playerXSquares = { playerXSquares } playerOSquares = { playerOSquares } handleClick = { handleClick } value = { 0 } />
170
- < Square disabled = { playerXSquares . includes ( 1 ) || playerOSquares . includes ( 1 ) || winner !== 'None' } playerXSquares = { playerXSquares } playerOSquares = { playerOSquares } handleClick = { handleClick } value = { 1 } />
171
- < Square disabled = { playerXSquares . includes ( 2 ) || playerOSquares . includes ( 2 ) || winner !== 'None' } playerXSquares = { playerXSquares } playerOSquares = { playerOSquares } handleClick = { handleClick } value = { 2 } />
167
+ < Square
168
+ disabled = { playerXSquares . includes ( 0 ) || playerOSquares . includes ( 0 ) || winner !== 'None' }
169
+ playerXSquares = { playerXSquares }
170
+ playerOSquares = { playerOSquares }
171
+ handleClick = { handleClick }
172
+ value = { 0 }
173
+ />
174
+ < Square
175
+ disabled = { playerXSquares . includes ( 1 ) || playerOSquares . includes ( 1 ) || winner !== 'None' }
176
+ playerXSquares = { playerXSquares }
177
+ playerOSquares = { playerOSquares }
178
+ handleClick = { handleClick }
179
+ value = { 1 }
180
+ />
181
+ < Square
182
+ disabled = { playerXSquares . includes ( 2 ) || playerOSquares . includes ( 2 ) || winner !== 'None' }
183
+ playerXSquares = { playerXSquares }
184
+ playerOSquares = { playerOSquares }
185
+ handleClick = { handleClick }
186
+ value = { 2 }
187
+ />
172
188
</ div >
173
189
< div className = "board-row" style = { rowStyle } >
174
- < Square disabled = { playerXSquares . includes ( 2 ) || playerOSquares . includes ( 3 ) || winner !== 'None' } playerXSquares = { playerXSquares } playerOSquares = { playerOSquares } handleClick = { handleClick } value = { 3 } />
175
- < Square disabled = { playerXSquares . includes ( 2 ) || playerOSquares . includes ( 4 ) || winner !== 'None' } playerXSquares = { playerXSquares } playerOSquares = { playerOSquares } handleClick = { handleClick } value = { 4 } />
176
- < Square disabled = { playerXSquares . includes ( 2 ) || playerOSquares . includes ( 5 ) || winner !== 'None' } playerXSquares = { playerXSquares } playerOSquares = { playerOSquares } handleClick = { handleClick } value = { 5 } />
190
+ < Square
191
+ disabled = { playerXSquares . includes ( 2 ) || playerOSquares . includes ( 3 ) || winner !== 'None' }
192
+ playerXSquares = { playerXSquares }
193
+ playerOSquares = { playerOSquares }
194
+ handleClick = { handleClick }
195
+ value = { 3 }
196
+ />
197
+ < Square
198
+ disabled = { playerXSquares . includes ( 2 ) || playerOSquares . includes ( 4 ) || winner !== 'None' }
199
+ playerXSquares = { playerXSquares }
200
+ playerOSquares = { playerOSquares }
201
+ handleClick = { handleClick }
202
+ value = { 4 }
203
+ />
204
+ < Square
205
+ disabled = { playerXSquares . includes ( 2 ) || playerOSquares . includes ( 5 ) || winner !== 'None' }
206
+ playerXSquares = { playerXSquares }
207
+ playerOSquares = { playerOSquares }
208
+ handleClick = { handleClick }
209
+ value = { 5 }
210
+ />
177
211
</ div >
178
212
< div className = "board-row" style = { rowStyle } >
179
- < Square disabled = { playerXSquares . includes ( 2 ) || playerOSquares . includes ( 6 ) || winner !== 'None' } playerXSquares = { playerXSquares } playerOSquares = { playerOSquares } handleClick = { handleClick } value = { 6 } />
180
- < Square disabled = { playerXSquares . includes ( 2 ) || playerOSquares . includes ( 7 ) || winner !== 'None' } playerXSquares = { playerXSquares } playerOSquares = { playerOSquares } handleClick = { handleClick } value = { 7 } />
181
- < Square disabled = { playerXSquares . includes ( 2 ) || playerOSquares . includes ( 8 ) || winner !== 'None' } playerXSquares = { playerXSquares } playerOSquares = { playerOSquares } handleClick = { handleClick } value = { 8 } />
213
+ < Square
214
+ disabled = { playerXSquares . includes ( 2 ) || playerOSquares . includes ( 6 ) || winner !== 'None' }
215
+ playerXSquares = { playerXSquares }
216
+ playerOSquares = { playerOSquares }
217
+ handleClick = { handleClick }
218
+ value = { 6 }
219
+ />
220
+ < Square
221
+ disabled = { playerXSquares . includes ( 2 ) || playerOSquares . includes ( 7 ) || winner !== 'None' }
222
+ playerXSquares = { playerXSquares }
223
+ playerOSquares = { playerOSquares }
224
+ handleClick = { handleClick }
225
+ value = { 7 }
226
+ />
227
+ < Square
228
+ disabled = { playerXSquares . includes ( 2 ) || playerOSquares . includes ( 8 ) || winner !== 'None' }
229
+ playerXSquares = { playerXSquares }
230
+ playerOSquares = { playerOSquares }
231
+ handleClick = { handleClick }
232
+ value = { 8 }
233
+ />
182
234
</ div >
183
235
</ div >
184
236
</ div >
0 commit comments