Track
/
MoonScript
MoonScript
/
Esercizi
/
Stato del tris
Stato del tris

Stato del tris

Medio

Istruzioni

In questo esercizio implementerai un programma che determina lo stato di una partita a tris. (Potresti anche conoscere il gioco come «noughts and crosses» o «Xs and Os».)

La partita si gioca su una griglia 3×3. I giocatori, a turno, posizionano X e O sulla griglia. La partita termina quando un giocatore vince posizionando tre dei suoi simboli in una riga, in una colonna o lungo una diagonale della griglia, oppure quando l'intera griglia è piena.

In questo esercizio assumeremo che inizi X.

Il tuo compito è determinare in quale stato si trova una data partita.

Ci sono 3 possibili stati di gioco:

  • La partita è ongoing.
  • La partita è finita in draw.
  • La partita è finita in win.

Se la griglia fornita non è valida, lancia un errore appropriato.

Una griglia è non valida se soddisfa le seguenti condizioni:

  • La griglia fornita non può essere raggiunta se i turni vengono giocati nell'ordine corretto (ricorda che inizia X).
  • La partita è stata giocata dopo che era già terminata.

Esempi

Partita in corso

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

Pareggio

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

Vittoria

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

Non valida

Ordine dei turni errato
   |   |
 O | O | X
___|___|___
   |   |
   |   |
___|___|___
   |   |
   |   |
   |   |
Gioco proseguito dopo la vittoria
   |   |
 X | X | X
___|___|___
   |   |
 O | O | O
___|___|___
   |   |
   |   |
   |   |
Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
MoonScript Exercism

Vuoi iniziare Stato del tris?

Iscriviti a Exercism per imparare e padroneggiare MoonScript con 126 esercizi e il mentoring di persone reali, tutto gratis.