Trilhas
/
MoonScript
MoonScript
/
Exercícios
/
Estado do jogo da velha
Estado do jogo da velha

Estado do jogo da velha

Médio

Instruções

Neste exercício, você vai implementar um programa que determina o estado de um jogo da velha tic-tac-toe. (Talvez você também conheça o jogo como "noughts and crosses" ou "Xs and Os".)

O jogo é disputado em uma grade 3×3. Os jogadores se revezam colocando Xs e Os na grade. O jogo termina quando um jogador vence ao alinhar três marcas em uma linha, uma coluna ou uma diagonal da grade, ou quando a grade inteira está preenchida.

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

Sua tarefa é determinar em que estado um determinado jogo está.

Existem 3 estados possíveis para o jogo:

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

Se o tabuleiro informado for inválido, lance um erro apropriado.

Um tabuleiro é inválido se atender às seguintes condições:

  • O tabuleiro informado não pode ser alcançado quando os turnos são jogados na ordem correta (lembre-se de que X começa).
  • Foram feitas jogadas depois de o jogo já ter terminado.

Exemplos

Jogo em andamento

   |   |
 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
___|___|___
   |   |
   |   |
___|___|___
   |   |
   |   |
   |   |
Continuação do jogo após uma vitória
   |   |
 X | X | X
___|___|___
   |   |
 O | O | O
___|___|___
   |   |
   |   |
   |   |
Editar via GitHub O link abre em uma nova janela ou aba
MoonScript Exercism

Tudo pronto para começar Estado do jogo da velha?

Crie sua conta no Exercism para aprender e dominar MoonScript com 126 exercícios e mentoria humana de verdade, tudo de graça.