(Il existe certains défis qui nécessitent d'utiliser la meilleure stratégie, mais ici nous ne le faisons pas. Même si vous êtes en mesure de gagner, vous êtes autorisé à faire un match nul)
Défi
Écrivez un programme qui joue au jeu tic-tac-toe. Il ne doit pas perdre (par conséquent, il doit terminer le match avec une égalité ou en gagnant).
Méthodes d'E / S autorisées
- L'entrée peut être la carte actuelle. Vous pouvez supposer que tous les coups précédents du 2ème joueur ont été joués par votre moteur.
- L'entrée peut être les mouvements du premier joueur, et votre fonction enregistre les mouvements qui se sont produits dans le passé. Dans ce cas, la fonction est appelée plusieurs fois, une fois pour chaque coup; ou l'entrée d'invite de fonction / programme à plusieurs reprises.
- Vous êtes autorisé à prendre une entrée supplémentaire indiquant si vous êtes le premier joueur, ou à écrire deux fonctions (éventuellement liées) pour résoudre le problème du premier joueur et celui du deuxième joueur. Si votre programme doit utiliser la méthode de saisie 2 (appel multiple), vous pouvez décider de ce qui sera passé lors du premier appel.
- La sortie peut être la carte après votre tour.
- La sortie peut être votre mouvement.
- Un mouvement peut être représenté par une paire de nombres (peut être 0 ou 1), un nombre compris entre 0 et 8 ou un nombre compris entre 1 et 9.
- La carte peut être représentée comme un tableau 3 × 3 ou un tableau de longueur 9. Même si la langue a un tableau d'indexation 0, vous pouvez utiliser l'indexation 1.
- Les cellules de la grille peut utiliser tous les 3 valeurs différentes pour indiquer
X
,O
et vide.
Critères gagnants
Code le plus court dans chaque langue.
we can assume that all previous moves of the 2nd player were also played by our engine