Jouons au golf à code!
Étant donné un état de carte tic-tac-toe (exemple :)
|x|x|o|
|x|o|x|
|o|o|x|
Déterminez si un jeu est un win
a lose
ou un cat
. Votre code doit afficher l'une de ces options en fonction d'un état. Le jeu ci-dessus devrait sortirlose
Juste pour être clair: une victoire est définie comme 3 x
s consécutifs (diagonale, horizontale, verticale). une défaite est de 3 o
s d'affilée, tandis qu'un cat
match en aucun d'affilée.
Pour rendre les choses intéressantes, vous devez déterminer votre structure d'entrée pour l'état, que vous devez ensuite expliquer. Par exemple, xxoxoxoox
est un état valide comme vu ci-dessus où chacun des caractères est lu de gauche à droite, de haut en bas. [['x','x','o'],['x','o','x'],['o','o','x']]
est le jeu en tableau multidimensionnel lu de manière similaire. Alors que 0x1a9
ce qui est hexadécimal 110101001
pourrait fonctionner comme une compression appropriée où 1
peut être manipulé pour x
s et 0
peut être manipulé pour o
.
Mais ce ne sont que quelques idées, je suis sûr que vous pourriez en avoir plusieurs.
Règles de base:
- Votre programme doit pouvoir accepter n'importe quel état viable.
- La forme d'entrée doit pouvoir représenter n'importe quel état.
- "L'état de victoire doit être déterminé à partir du tableau"
- Supposons une planche complète
Win
avantlose
par exemple dans le cas «xxxoooxxx»
Le nombre de personnages le plus bas gagne
(win|lose|cat) [xo]{9}
où le premier mot indique si le jeu est une victoire, une perte ou un chat (?) Pour le joueur x. Capable de représenter n'importe quel état.