Concours ouvert en permanence - Mis à jour le 10 août 2017
Même si le 5 juin 2017, j'ai déclaré un gagnant (qui restera la meilleure réponse), je vais lancer de nouveaux bots et mettre à jour les résultats.
Résultats du 5 juin
Félicitations user1502040
Puisqu'il n'y a pas d'égalité, je montre seulement le% de matchs gagnés.
Statistician2
- 95,7%
Fitter
- 89,1%
Nash
- 83,9%
Weigher
- 79,9%
ExpectedBayes
- 76,4%
AntiRepeater
- 72,1%
Yggdrasil
- 65,0%
AntiGreedy
- 64,1%
Reactor
- 59,9%
NotHungry
- 57,3%
NashBot
- 55,1%
Blodsocer
- 48,6%
BestOfBothWorlds
- 48,4%
GoodWinning
- 43,9%
Rockstar
- 40,5%
ArtsyChild
- 40,4%
Assassin
- 38,1 %
WeightedRandom
- 37,7%
Ensemble
- 37,4%
UseOpponents
- 36,4%
GreedyPsychologist
- 36,3%
TheMessenger
- 33,9%
Copycat
- 31,4%
Greedy
- 28,3%
SomewhatHungry
- 27,6%
AntiAntiGreedy
- 21,0%
Cycler
- 20,3%
Swap
- 19,8%
RandomBot
- 16,2%
J'ai créé une feuille Google avec la grille de résultats de chaque association: https://docs.google.com/spreadsheets/d/1KrMvcvWMkK-h1Ee50w0gWLh_L6rCFOgLhTN_QlEXHyk/edit?usp=sharing
Grâce au dilemme de Petri, je me suis retrouvé capable de gérer ce roi de la colline.
Le jeu
Le jeu est un simple "Rock-Paper-Scissors" avec une touche: les points gagnés à chaque victoire augmentent pendant le match (votre R, P ou S est chargé).
- Le papier gagne le rock
- Ciseaux remporte Paper
- Rock gagne des ciseaux
Le gagnant obtient autant de points que sa charge sur son jeu.
Le perdant augmente de 1 la charge de son jeu.
En cas d'égalité, chaque joueur augmente la charge de son jeu de 0,5.
Après 100 parties, celui qui a le plus de points est le gagnant.
par exemple: P1 a des charges [10,11,12] (roche, papier, ciseaux) et P2 [7,8,9]. P1 joue R, P2 joue P. P2 gagne et obtient 8 points. Les charges P1 deviennent [11,11,12], les charges P2 restent les mêmes.
Spécifications du défi
Votre programme doit être écrit en Python (désolé, je ne sais pas comment le gérer autrement). Vous devez créer une fonction qui prend chacune de ces variables comme argument à chaque exécution:
my_points, opp_points, my_loaded, opp_loaded, my_history, opp_history
points
- Points actuels (le vôtre et votre opp)
loaded
- Tableau avec charges (dans l'ordre RPS) (le vôtre et votre opp)
history
- Chaîne avec tous les jeux, le dernier personnage est le dernier jeu (le vôtre et votre opp)
Vous devez revenir "R"
, "P"
ou "S"
. Si vous retourniez quelque chose de différent, ce serait une perte automatique du match.
Règles
Vous ne pouvez pas modifier les fonctions intégrées.
Essai
Je garderai un Git mis à jour avec le code et tous les bots compiting: https://github.com/Masclins/LoadedRPS
Juger
Le vainqueur sera déterminé en sélectionnant la personne avec le plus de matchs gagnants après 1000 tournois complets. Les égalités seront brisées par des matchs à égalité. 1000 matchs sont joués plutôt qu'un, car je m'attends à beaucoup d'aléatoire, et de cette façon l'aléatoire serait moins pertinent.
Vous pouvez soumettre jusqu'à 5 bots.
Le concours se termine le 4 juillet (ce sera le dernier jour où j'accepterai une réponse), et le 5 juillet je posterai les stadings finaux (je pourrais essayer de poster un avancemnt avant).
Comme il s'agit de mon premier KOTH, je suis 100% ouvert à tout changement pour l'amélioration, comme le nombre de matchs joués contre chaque bot.
Modifié à 1000 correspondances, car je vois qu'il y a vraiment du hasard.
runcode
et bots
)?