Kata del TicTacToe en Kotlin

A
Antonio Leiva
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