Quand j'étais enfant, je jouais beaucoup à ce jeu.
Règles
Il y a deux joueurs (appelons-les A et B), et chaque joueur utilise ses mains comme des fusils. Il y a trois mouvements possibles:
Levez la main pour charger des munitions dans votre arme.
Chaque pistolet démarre vide. Le chargement augmente les munitions d'une unité.
Mains pointant vers l'autre joueur pour tirer.
Cela diminue les munitions d'une unité. Vous devez avoir au moins une unité de munitions pour tirer.
Bras croisés pour vous protéger d'un coup de feu.
Les deux joueurs se déplacent simultanément. Si les deux joueurs tirent en même temps, les balles se touchent et le jeu continue. Le jeu se termine lorsqu'un joueur tire pendant que l'autre charge des munitions.
Le tir et l'arme vide sont considérés comme de la tricherie . Si un joueur triche alors que l'autre exécute une action en justice, le tricheur perd immédiatement. Si les deux joueurs trichent en même temps, le jeu continue.
Les tentatives de tricherie ne diminuent pas les munitions, elles ne peuvent donc jamais être négatives.
Défi
Compte tenu des mouvements effectués par les joueurs A et B, sortez quel joueur a gagné la partie: 1
pour le joueur A, -1
pour le joueur B et 0
pour un match nul. Vous pouvez utiliser tout autre triple de valeur de retour, mais vous devez indiquer dans votre réponse celles que vous utilisez.
Le jeu peut:
- terminer sans avoir à traiter tous les mouvements;
- ne se termine pas avec les mouvements donnés, et il est donc considéré comme un match nul.
L'entrée peut être prise:
- sous forme de chaînes
- sous forme de tableaux / listes d'entiers
- de toute autre manière qui ne pré-traite pas l'entrée
Programme complet ou fonctions autorisées. Puisqu'il s'agit de code-golf , la réponse la plus courte en octets gagne!
Cas de test
A: "123331123"
B: "131122332"
-----^ Player B shoots player A and wins.
Output: -1
A: "111322213312"
B: "131332221133"
-------^ Player B cheats and loses.
Output: 1
A: "1333211232221"
B: "1213211322221"
----------^^ Both players cheat at the same time. The game continues.
Output: 0
A: "12333213112222212"
B: "13122213312232211"
| || ^---- Player A shoots player B and wins.
^-------^^------ Both players cheat at the same time. The game continues.
Output: 1