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 wina loseou 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 xs consécutifs (diagonale, horizontale, verticale). une défaite est de 3 os d'affilée, tandis qu'un catmatch 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, xxoxoxooxest 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 0x1a9ce qui est hexadécimal 110101001pourrait fonctionner comme une compression appropriée où 1peut être manipulé pour xs et 0peut ê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
Winavantlosepar 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.