Règles de base (différentes des miennes)
Récit
C'est l'année 4579, les humains ont maintenant 2 mains avec 1001 doigts chacune. Les baguettes sont devenues basées sur des points. Et @Dennis a plus de représentants que @Martin ... Les cercles rouges dessinés à la main sont maintenant sous-votés ... Jon Skeet a atteint 2 billions de représentants sur chaque site SE ... Ouais, effrayant je sais
Chopsticks est un jeu de main qui a été résolu. Donc, pour contourner cela, je l'ai créé muté. J'ai augmenté le nombre de doigts.
Règles du jeu
La façon dont cela se joue
Tout le monde commence avec 2 mains. Chaque main a 1001 doigts. Chaque main commence avec 1 (un) doigt sur chaque main. Pendant votre tour, vous pouvez "toucher" la main des autres joueurs. Pour vous frapper, choisissez 1 de vos mains pour frapper et 1 de leurs mains pour frapper. La main qui a été frappée a maintenant la quantité de doigts qui était la leur au début ET la quantité de doigts que vous aviez sur la main avec laquelle vous avez frappé.
EX
P1: 1,1
P2: 1,1
. P1[0]
frappe P2[1]
. Maintenant, les doigts le sont P1:1,1
P2:1,2
. Maintenant P2[1]
frappe p1[0]
. Les doigts sont maintenant P1: 3,1
P2 1,2
.
Si une main atteint 1001 doigts ou plus, cette main est sortie. Le joueur qui a reçu une main (pour son tour) peut alors "se séparer". Le fractionnement consiste à prendre la main qui est dedans et à diviser par deux le nombre de doigts (arrondir) et à donner ces doigts à l'autre main pour la remettre en place.
EX
P1: 1000,2
P2 7,7
. P2[0]
frappe P1[0]
. Le score est P1: 0,2
P2 1,1
. P1[1]
se divise pour son tour et le score est P1: 1,1
et P2 7,7
.
Le jeu se termine lorsqu'un joueur a les deux mains. Les points sont marqués par le nombre de doigts du gagnant. Plus de points = mieux. Le perdant ne gagne aucun point.
Il existe d'autres règles qui sont utilisées, mais ce sont celles utilisées ici.
Tout le monde joue tout le monde (tournoi à la ronde)
Fin du jeu
Faites le total de vos points à chaque tour que vous gagnez. Ensuite, augmentez la moyenne des points de tout le monde. Divisez votre total par la moyenne des points et obtenez votre score final. La plupart des points gagnent.
Règles réelles
S'il vous plaît ne pas essayer de résoudre le jeu. Je dois en fait pouvoir l'exécuter: P
Assurez-vous que le bot peut fonctionner rapidement. Avec la longueur des tours, cela prendra un certain temps
Toutes les bibliothèques nécessaires à votre programme doivent se trouver dans la bibliothèque python par défaut. Indiquez également ceux dont vous avez besoin d'importer. Les importations seront juste l'importation de base (pour les mathématiques que je fais: import math
)
Les réponses doivent fonctionner dans Python 3.x
Gestionnaire
Votre bot sera son propre fichier Python 3 avec une play
fonction.
play
sera passé deux listes de deux numéros chacun. Ce nombre indique le nombre de doigts sur chaque main. La première liste est votre propre main.
Si vous choisissez de frapper la main de l'autre joueur, renvoyez une liste de deux bits. Le premier bit est l'indice de la main que vous utilisez pour frapper ( 0
pour le premier, 1
pour le dernier), et le deuxième bit est l'indice de la main que vous frappez sur l'adversaire.
Si vous choisissez de vous séparer, renvoyez toute autre valeur véridique.
Tada!
Le contrôleur peut être trouvé ici . Enregistrez chaque bot dans son propre fichier et répertoriez le nom de fichier de chaque bot (sans .py
) dans botnames
.
Note finale:
Vous et l'autre bot irez à tour de rôle en premier. Si le jeu ne se termine pas en 100 000 (cent mille) tours, le jeu sera terminé et aucun des bots ne gagnera.
Le contrôleur n'est pas protégé contre les mouvements qui prennent une éternité, mais les frais généraux inutiles seront fortement désapprouvés.
My handler is very simple, your bot must do it's logic then adjust the the finger scores as needed, remember!
Quoi, donc c'est nous qui faisons les calculs pour le KoTH?