Kata del TicTacToe en Kotlin

Avatar
1 min lectura

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 o Draw), o null si la partida aún no ha terminado

Condiciones

  1. Inicialmente, todas las celdas del tablero están vacías
  2. El primer jugador es X
  3. Cada movimiento se irá aplicando de forma alterna a los dos jugadores
  4. Una celda ocupada no puede modificarse
  5. 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
  6. El juego acaba en empate cuando todas las celdas están ocupadas y no hay un ganador según las condiciones del punto anterior
  7. Si se pregunta por el ganador cuando no ha acabado la partida, se devuelve null