Votre travail, pour ce golf, est d'écrire un programme qui prendra les coups d'un jeu de reversi (othello) et affichera le résultat à l'utilisateur.
Contribution
Une chaîne de nombres tirée de la plage [0-7]. Chaque paire de nombres représente d'abord la coordonnée X, puis la coordonnée Y. Tout caractère ne se trouvant pas dans cette plage doit être ignoré.
Production
Une représentation visuelle du résultat du jeu, y compris qui dirige lorsque l'entrée se termine. Cela peut être une sortie graphique ou une séquence de touches, mais ce doit être une grille visuelle du jeu, avec un caractère / symbole graphique distinct pour le noir, le blanc et le vide.
De plus, votre code doit générer un message d'erreur et s'arrêter lorsqu'un mouvement illégal est entré (le même carré plusieurs fois ou un carré qui ne retournera aucune tuile).
Les sauts doivent être traités avec élégance. Un saut se produit lorsqu'une couleur n'a aucun mouvement légal, son tour est sauté et l'autre joueur peut jouer.
Le noir passe toujours en premier.
Exemples
23
........
........
........
..bbb...
...bw...
........
........
........
b
232425140504032627
........
........
........
b.bbb...
bbbww...
b.b.....
..b.....
..b.....
b
2324322513
........
........
........
..bbb...
..www...
........
........
........
e
23242555
........
........
........
..bbb...
..bbw...
..b.....
........
........
e
la source
Réponses:
Haskell - 1493 octets
Dans cette version, il n'y a pas de messages d'erreur détaillés et la sortie est beaucoup plus basique. Le changement majeur a été de remplacer
Either String a
parMaybe a
et comme ils sont tous les deux des monades, cela a été obtenu en échangeant simplementRight a
avecJust a
etLeft String
avecNothing
.Version originale - 4533 octets
Je jouerai au golf quand il y aura de la compétition! modifier C'est arrivé
Remarque: votre deuxième exemple doit être 2324251 4 0504032627.
Les tests
Avec des captures d'écran pour éviter les brûlures oculaires.
Il est possible de l'obtenir
impossible move (x,y)
lorsque vous utilisez des innardiques (fonctions des entrailles du programme et que vous ne devriez pas utiliser) etx/y is out of bounds
.la source
Javascript (E6) 399
412 450Edit: affichage du conseil d'administration plus court et plus agréable, couper un peu de char
Non golfé
Tester
Testez dans la console javascript (FireFox):
232425140504032627
, , , , , , , , , , , , , , , , , , , , , , , , , , , ,☻, ,☻,☻,☻, , , , ,☻,☻,☻,O,O, , , , ,☻, ,☻, , , , , , , , ,☻, , , , , , , , ,☻, , , , , , ☻9
la source