Concurso abierto permanentemente - Actualizado el 10 de agosto de 2017
A pesar de que el 5 de junio de 2017 declaró un ganador (que se mantendrá como la mejor respuesta), estaré buscando nuevos bots y actualizando los resultados.
Resultados del 5 de junio
Felicidades usuario1502040
Como no hay empates, solo muestro el% de partidos ganados.
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%
Creé una hoja de Google con la cuadrícula de resultados de cada emparejamiento: https://docs.google.com/spreadsheets/d/1KrMvcvWMkK-h1Ee50w0gWLh_L6rCFOgLhTN_QlEXHyk/edit?usp=sharing
Gracias al Dilema de Petri, pude manejar a este Rey de la Colina.
El juego
El juego es un simple "Piedra-Papel-Tijera" con un giro: los puntos ganados con cada victoria aumentan durante el partido (su R, P o S se cargan).
- El papel gana roca
- Tijeras gana papel
- Rock gana tijeras
El ganador obtiene tantos puntos como su carga en su juego.
El perdedor aumenta en 1 la carga en su juego.
En caso de empate, cada jugador aumenta la carga en su juego en 0.5.
Después de 100 jugadas, el que tenga más puntos es el ganador.
Por ejemplo: P1 tiene cargas [10,11,12] (piedra, papel, tijeras) y P2 [7,8,9]. P1 juega R, P2 juega P. P2 gana y obtiene 8 puntos. Las cargas P1 se convierten en [11,11,12], las cargas P2 permanecen igual.
Especificaciones de desafío
Su programa debe estar escrito en Python (lo siento, no sé cómo manejarlo de otra manera). Debe crear una función que tome cada una de estas variables como argumento en cada ejecución:
my_points, opp_points, my_loaded, opp_loaded, my_history, opp_history
points
- Puntos actuales (tuyo y tu opp)
loaded
- Matriz con cargas (en orden RPS) (la suya y su opp)
history
- Cadena con todas las jugadas, el último personaje es la última jugada (la tuya y tu opp)
Debes volver "R"
, "P"
o "S"
. Si devolvieras algo diferente, sería una pérdida automática del partido.
Reglas
No puede cambiar las funciones integradas.
Pruebas
Mantendré un Git actualizado con el código y todos los bots que compitan: https://github.com/Masclins/LoadedRPS
Juzgar
El ganador se decidirá seleccionando a la persona con la mayor cantidad de partidos ganadores después de 1000 round-robin completos. Los empates se romperán por partidos empatados. Se juegan 1000 partidos en lugar de uno porque espero mucha aleatoriedad, y de esa manera la aleatoriedad sería menos relevante.
Puedes enviar hasta 5 bots.
El concurso finaliza el 4 de julio (que será el último día en que aceptaré cualquier respuesta), y el 5 de julio publicaré las clasificaciones finales (podría intentar publicar un avance antes).
Como este es mi primer KOTH, estoy 100% abierto a cambiar cualquier cosa para mejorar, como la cantidad de partidos jugados contra cada bot.
Editado a 1000 coincidencias, ya que veo que realmente hay bastante aleatoriedad involucrado.
runcode
y bots
)?