Escribe el código para representar una entidad que almacene el tablero de juego del 3 en raya, y que además tenga:
- Un método
move()
con 2 parámetros, fila y columna, que permita añadir un movimiento al tablero - Un método
findWinner()
, que devuelva el ganador (X
,Y
oDraw
), onull
si la partida aún no ha terminado
Condiciones
- Inicialmente, todas las celdas del tablero están vacías
- El primer jugador es
X
- Cada movimiento se irá aplicando de forma alterna a los dos jugadores
- Una celda ocupada no puede modificarse
- El juego acaba cuando todas las celdas en una fila, una columna o una diagonal están tomadas por el mismo jugador, que será el ganador
- El juego acaba en empate cuando todas las celdas están ocupadas y no hay un ganador según las condiciones del punto anterior
- Si se pregunta por el ganador cuando no ha acabado la partida, se devuelve
null
0 comentarios