Kata del TicTacToe en Kotlin
Antonio Leiva

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

Quizá también te interese…

Las reglas FIRST de los tests

Las reglas FIRST de los tests

Las reglas FIRST son un conjunto de principios que se utilizan para diseñar y escribir tests de software de manera efectiva. Las siglas FIRST significan: F - Fast: Un test debe ser rápido de ejecutar. I - Independent: Un test debe ser independiente de otros tests y...

Cómo crear un backend en Kotlin usando Ktor

Cómo crear un backend en Kotlin usando Ktor

Ktor es un framework de servidor web ligero y rápido para Kotlin, desarrollado por JetBrains. Es ideal para crear aplicaciones web y servicios RESTful, y es muy fácil de usar y configurar. En este artículo, vamos a ver cómo crear un backend para una aplicación de...

Cómo simular una base de datos reactiva en Room con Fakes

Cómo simular una base de datos reactiva en Room con Fakes

En el desarrollo de aplicaciones móviles es muy común utilizar bases de datos para almacenar y gestionar la información que se utiliza en la aplicación. En el caso de Android, una de las opciones más populares es Room, una librería de persistencia de datos que...

0 comentarios

Enviar un comentario

Los datos personales que proporciones a través de este formulario quedarán registrados en un fichero de DevExpert, S.L.U., con el fin de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento de la parte interesada. Si no se acepta, no podrás comentar en este blog. Los datos que proporciona solo se utilizan para evitar el correo no deseado y no se usarán para nada más. Puede ejercer los derechos de acceso, rectificación, cancelación y oposición en contacto@devexperto.com.

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Acepto la política de privacidad *