Contexte
Passez à "Tâche" si vous connaissez Tic-Tac-Toe (je pense que la plupart le sont!)
Tic-Tac-Toe est un célèbre jeu à deux joueurs. Il se compose d'un plateau 3x3 qui est rempli progressivement par deux joueurs (précisions ci-dessous); Le premier joueur utilise le personnage X
et l'autre utilise O
. Le gagnant est le premier à obtenir 3 caractères consécutifs et identiques ( X
ou O
), horizontalement, verticalement ou en diagonale. Dans le cas où le plateau est rempli et qu'aucun des joueurs n'a réussi à obtenir trois personnages consécutifs comme décrit ci-dessus, le jeu se termine par une égalité. Notez qu'il peut y avoir des places vides à la fin de la partie, dans le cas où l'un des joueurs gagne en moins de 9 coups au total (cela ne peut pas se produire en cas d'égalité).
Tâche
Étant donné un tableau Tic-Tac-Toe à la fin d'une partie (sous la forme d'une chaîne, d'une matrice, d'une liste plate de 9 valeurs ordonnées, de tout autre format décent), déterminez qui gagne la partie.
L'entrée sera constituée de valeurs distinctes et cohérentes , une pour
X
, une pourO
et une autre qui représente un emplacement vide.Votre programme devrait être capable de produire 3 valeurs distinctes, cohérentes et non vides: une au cas où il
X
gagne, une autre au cas où ilO
gagne ou une autre si les joueurs sont à égalité.Veuillez spécifier ces valeurs dans votre réponse. Vous pouvez supposer que l'entrée sera une carte Tic-Tac-Toe valide.
Cas de test
X
, O
, _
Sont les valeurs d'entrée ici; X wins
, O wins
Et Tie
sont pour la sortie.
X O X
O X _
O _ X
Sortie: X wins
.
X _ O
X O _
X O X
Sortie: X wins
.
X O X
_ O X
_ O _
Sortie: O wins
.
X O X
O O X
X X O
Sortie: Tie
.
Comme d'habitude, toutes nos règles standard s'appliquent. C'est le code-golf , le code le plus court en octets dans toutes les langues gagne!