Tracks
/
MoonScript
MoonScript
/
Ejercicios
/
Estado del tres en línea
Estado del tres en línea

Estado del tres en línea

Intermedia

Instrucciones

En este ejercicio vas a implementar un programa que determina el estado de una partida de tres en línea. (También puedes conocerlo como «noughts and crosses» o «Xs and Os».)

La partida se juega en una cuadrícula de 3×3. Las personas que juegan se turnan para colocar Xs y Os en la cuadrícula. El juego termina cuando alguien gana al colocar tres de sus marcas en una fila, una columna o una diagonal de la cuadrícula, o cuando se llena toda la cuadrícula.

En este ejercicio supondremos que X empieza.

Tu tarea es determinar en qué estado se encuentra una partida dada.

Hay 3 estados posibles del juego:

  • La partida está ongoing.
  • La partida terminó en draw.
  • La partida terminó en win.

Si el tablero dado no es válido, lanza un error apropiado.

Un tablero no es válido si cumple las siguientes condiciones:

  • No se puede llegar al tablero dado si los turnos se toman en el orden correcto (recuerda que X empieza).
  • Se siguió jugando después de que la partida ya había terminado.

Ejemplos

Partida en curso

   |   |
 X |   |
___|___|___
   |   |
   | X | O
___|___|___
   |   |
 O | X |
   |   |

Empate

   |   |
 X | O | X
___|___|___
   |   |
 X | X | O
___|___|___
   |   |
 O | X | O
   |   |

Victoria

   |   |
 X | X | X
___|___|___
   |   |
   | O | O
___|___|___
   |   |
   |   |
   |   |

Inválido

Orden de turnos incorrecto
   |   |
 O | O | X
___|___|___
   |   |
   |   |
___|___|___
   |   |
   |   |
   |   |
Se siguió jugando después de la victoria
   |   |
 X | X | X
___|___|___
   |   |
 O | O | O
___|___|___
   |   |
   |   |
   |   |
Editar en GitHub El enlace se abre en una ventana o una pestaña nuevas
MoonScript Exercism

¿Todo listo para empezar Estado del tres en línea?

Regístrate en Exercism para aprender y dominar MoonScript con 126 ejercicios y mentoría humana real, todo gratis.