Percursos
/
MoonScript
MoonScript
/
Exercícios
/
Estado do jogo do galo
Estado do jogo do galo

Estado do jogo do galo

Médio

Instruções

Neste exercício, vais implementar um programa que determina o estado de um jogo do galo. (Também podes conhecer este jogo como "noughts and crosses" ou "Xs and Os".)

O jogo é jogado numa grelha 3×3. Os jogadores colocam à vez Xs e Os na grelha. O jogo termina quando um jogador ganha ao colocar três das suas marcas em linha, numa coluna ou numa diagonal da grelha, ou quando a grelha inteira fica preenchida.

Neste exercício, vamos assumir que o X começa.

A tua tarefa é determinar em que estado está um jogo.

Há 3 estados possíveis do jogo:

  • O jogo está ongoing.
  • O jogo terminou em draw.
  • O jogo terminou em win.

Se o tabuleiro dado for inválido, lança um erro apropriado.

Se um tabuleiro cumprir as seguintes condições, é inválido:

  • O tabuleiro dado não pode ser alcançado quando os turnos são jogados pela ordem correta (lembra-te de que o X começa).
  • O jogo foi jogado depois de já ter terminado.

Exemplos

Jogo em curso

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

Empate

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

Vitória

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

Inválido

Ordem de turnos errada
   |   |
 O | O | X
___|___|___
   |   |
   |   |
___|___|___
   |   |
   |   |
   |   |
Jogo continuado depois de uma vitória
   |   |
 X | X | X
___|___|___
   |   |
 O | O | O
___|___|___
   |   |
   |   |
   |   |
Editar via GitHub A ligação abre numa nova janela ou separador
MoonScript Exercism

Estás pronto para começar Estado do jogo do galo?

Inscreve-te no Exercism para aprenderes e dominares MoonScript com 126 exercícios, e mentoria humana real, tudo grátis.