Esto fue inspirado por un minijuego de Minecraft. Las reglas son bastante simples: corres y saltas, y cada bloque que pisas desaparece una vez que lo pisas. El objetivo es ser el último que quede.
Tu bot debe ser un programa completo. Debe aceptar la entrada como un argumento de línea de comando. La entrada será un mapa del "mundo"; Aquí hay un ejemplo:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx
xxx xxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxx x xxxxxxxxxxxxx@xxxxxxxxxxx
xxxxxx1xxxxxxxxxxxxx xxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxx xxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxx xxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxx xxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxx xxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxx xxxxxxxxxxx
xxxxxxxxxx xxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxx xxxxxxxxxxxx
xxxxxxxxxxxxxxxxx x x xxxxxxxxxx
xxxxxxxxxxxxxxxxxxxx xxxxxxxxxxx
xxxxxxxxxxxxxx xxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxx xxx xx3xxxxxxxxxx
xxxxxxxxxxxxxxxxxxx xxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx x
xxxxxxxxxxxxxxxxxxxxxxxxxxx xx
xxxxxxxxxxxxxxxxxxxxxxxxx 2
xxxxxxxxxxxxxxxxxxxxxxx
La leyenda es la siguiente:
x: solid block
: empty air
@: your bot
1,2,3,4,5,6,7,8,9,0: other bots
Su bot debería generar su movimiento como un par de enteros. Ejemplo: -1, 2
se moverá 1 bloque hacia la izquierda y 2 bloques hacia abajo (el origen de las coordenadas está en la esquina superior izquierda).
Puede moverse hasta cuatro cuadras, distancia de Manhattan, desde su ubicación actual. Si intenta avanzar más allá de eso, el movimiento no es válido. Cualquier movimiento que lo lleve más allá del borde lo colocará en el borde. Los movimientos inválidos serán ignorados.
Una vez que aterrizas en un bloque, se elimina; Si permaneces en el mismo bloque el próximo turno, caerás. Dos bots pueden aterrizar en el mismo bloque en el mismo turno y ambos sobreviven; Si esto sucede, ambos bots solo se verán a sí mismos y no al otro bot.
Si necesita almacenar archivos para persistencia, hágalo en una carpeta con el nombre de su bot. No puede leer los datos persistentes de otros bots si existe alguno.
El controlador de partido está disponible en https://paste.ee/p/Xf65d .
Utilice idiomas que se puedan ejecutar en una instalación estándar de Linux u OSX.
Resultados actuales (100 rondas):
JumpBot 31
LookBot 27
ShyBot 26
Slow Bot 15
KnightBot 2
Moat Builder 0
UpBot 0
Random Bot 0