Nota: a pesquisa de favoritos da comunidade será lançada em breve
Neste KoTH, o objetivo é ser o último bot vivo. As moedas serão colocadas em áreas aleatórias, e seu bot deve obter as moedas primeiro. Se um bot se depara com outro bot, o bot com mais moedas vence e o outro bot morre. Mais detalhes abaixo.
Tipos de moedas
Haverá 2 tipos de moedas: ouro e prata. O ouro adiciona 5 moedas à força do bot e a prata adiciona 2. Depois que uma moeda é coletada, outra moeda é colocada em outro local no tabuleiro. A qualquer momento, há uma moeda de ouro e quatro moedas de prata na arena.
Colisões de bot
No caso de dois robôs tentarem ocupar o mesmo espaço, aquele com mais moedas permanecerá e o que tiver menos moedas ... não. O bot vencedor ganhará 85% das moedas dos oponentes (arredondado para cima). Se eles estão empatados, ambos morrem. Se três ou mais tentarem ocupar o mesmo espaço, o mais poderoso vence e recebe 85% de todas as moedas do outro bot. No caso em que o bot mais poderoso é o empate, todos os bots morrem tentando entrar no espaço.
Arena
O comprimento lateral da arena é calculado com 4 + botCount. Ao colocar bots no início do jogo, lugares aleatórios são escolhidos. O sistema garante que nenhum robô inicie no mesmo espaço ou próximo um do outro. As moedas são geradas aleatoriamente, excluindo um quadrado de 3 por 3 centrado em cada bot. Se um bot é encontrado fora da arena, ele morre instantaneamente. A arena começa em (0,0), ou Noroeste, no canto superior esquerdo, e a localização de um bot é sempre um número inteiro.
Seu bot
Seu bot deve ser uma função, em qualquer linguagem orientada a objetos que possua matrizes, números inteiros, strings e funções. Observe que todos os envios serão convertidos para Javascript, para simplificar. Para armazenar informações entre movimentos, use botNotes.storeData(key, value)e botNotes.getData(key, value). Você não pode armazenar ou acessar dados de qualquer maneira, exceto a que é fornecida através dos parâmetros e botNotes. Você deve criar uma função que, quando chamada, retorna uma string north, east, south, west, ou none. Haverá 3 argumentos para a função:
Um objeto com quatro inteiros (
locationX,locationY,coins,arenaLength), sua localização atual, suas moedas, eo comprimento da arenaUma matriz multidimensional com as coordenadas X e Y de outros bots e sua contagem de moedas,
[[0,5,4],[4,7,1],[7,4,12]]Uma matriz com os locais das moedas listados (o ouro é sempre o primeiro)
Este é um desafio do tipo rei da colina, proibidas as brechas padrão . Sua função será executada milhares de vezes, sempre que for permitido um "movimento". Note que se o jogo exceder 20.000 jogadas , o bot com mais moedas ganha. Isso será feito 8.000 vezes, para remover a aleatoriedade.
Chatroom: https://chat.stackexchange.com/rooms/81347/gold-collectors-koth
Prémios:
Primeiro Lugar: Recompensa de 100 pontos
Favorito da Comunidade: resposta aceita de 15 pontos
Vencedores:
Primeiro Lugar: TBTPTGCBCBA
Segundo Lugar: Big King Little Hill
Terceiro Lugar: Potencialmente Vitorioso
Quarto: Polido Bot bêbado e míope
Quinto Lugar: Moeda de Segurança