Nota: La encuesta para los favoritos de la comunidad se lanzará pronto.
En este KoTH, el objetivo es ser el último bot vivo. Las monedas se colocarán en áreas aleatorias, y tu bot debe obtener las monedas primero. Si un bot se encuentra con otro bot, el bot con más monedas gana y el otro bot muere. Más detalles a continuación.
Tipos de monedas
Habrá 2 tipos de monedas: oro y plata. El oro agrega 5 monedas a la fuerza del robot, y la plata agrega 2. Una vez que se recoge una moneda, se coloca otra moneda en otro lugar del tablero. En cualquier momento, hay una moneda de oro y cuatro monedas de plata en la arena.
Colisiones de bot
En el caso de que dos bots intenten ocupar el mismo espacio, el que tenga más monedas se quedará y el que tenga menos ... no lo hará. El bot ganador ganará el 85% de las monedas de los oponentes (redondeado). Si están atados, ambos mueren. Si tres o más intentan ocupar el mismo espacio, el más poderoso gana y obtiene el 85% de todas las monedas del otro bot. En el caso de que el bot más poderoso sea un empate, todos los bots mueren que intentaron ingresar al espacio.
Arena
La longitud lateral de la arena se calcula con 4 + botCount
. Al colocar bots al comienzo del juego, se eligen lugares aleatorios. El sistema garantiza que no se inicien bots en el mismo espacio o uno al lado del otro. Las monedas se generan aleatoriamente, excluyendo un cuadrado de 3 por 3 centrado en cada bot. Si se encuentra un bot fuera de la arena, muere instantáneamente. La arena comienza en (0,0), o Noroeste, en la esquina superior izquierda, y la ubicación de un bot siempre es un número entero.
Su bot
Su bot debe ser una función, en cualquier lenguaje orientado a objetos que tenga matrices, enteros, cadenas y funciones. Tenga en cuenta que todas las presentaciones se convertirán a Javascript, para simplificar las cosas. Para almacenar información entre movimientos, use botNotes.storeData(key, value)
y botNotes.getData(key, value)
. No puede almacenar ni acceder a los datos de ninguna manera, que no sea la que se proporciona a través de los parámetros y botNotes
. Debe crear una función que, cuando se le llama, devuelve una cadena north
, east
, south
, west
, o none
. Habrá 3 argumentos para la función:
Un objeto con cuatro enteros (
locationX
,locationY
,coins
,arenaLength
), su ubicación actual, sus monedas, y la longitud de la ArenaUna matriz multidimensional con las coordenadas X e Y de otros bots, y su conteo de monedas, ex
[[0,5,4],[4,7,1],[7,4,12]]
Una matriz con las ubicaciones de monedas enumeradas (el oro siempre es el primero)
Este es el desafío del rey de la colina, se prohíben las lagunas estándar . Su función se ejecutará varios miles de veces, cada vez que se permita un "Movimiento". Tenga en cuenta que si el juego supera los 20,000 movimientos , gana el bot con la mayor cantidad de monedas. Esto se hará 8,000 veces, para eliminar la aleatoriedad.
Sala de chat: https://chat.stackexchange.com/rooms/81347/gold-collectors-koth
Premios:
Primer lugar: recompensa de 100 puntos
Favorito de la comunidad: respuesta aceptada de 15 puntos
Ganadores:
Primer lugar: TBTPTGCBCBA
Segundo lugar: Big King Little Hill
Tercer lugar: Potencialmente victorioso
Cuarto lugar: Cortés borracho miope cortés
Quinto lugar: Moneda de seguridad