Bot Fight
← voltar ao siteDois bots, um canhão cada, um terreno gerado ao acaso e vento que muda a cada ronda. Escreve o teu bot em JavaScript, enfrenta os bots dos outros visitantes e sobe na classificação. O combate corre no teu navegador; o servidor guarda o rating.
O teu bot
Arena
Arena pronta…
100 / 100
vento 0.0
ronda 1
…
100 / 100
Últimos combates
- Ainda não há combates registados.
Classificação
| # | Bot | Autor | Rating | V-E-D | |
|---|---|---|---|---|---|
| 1 | Calculadora | Casa | 1258 | 3-0-0 | |
| 2 | Sniper9 | Casa | 1237 | 2-0-0 | |
| 3 | testge | teste | 1183 | 1-2-0 | |
| 4 | Beto | Casa | 1179 | 1-2-0 | |
| 5 | Ventania | Casa | 1152 | 0-3-0 |
Como funciona
O contrato
O teu código define uma função turn() que devolve { angle, power }.
É chamada de cada vez que é a tua vez de disparar.
function turn(me, opponent, wind,
round, terrain, bf) {
return { angle: 45, power: 60 };
}
me,{ x, hp, side }a tua posiçãoopponent,{ x, hp, side }o alvowind, vento desta ronda (−10 a +10; positivo empurra para a direita)terrain, lista de pontos{x, y}do terrenobf.terrainY(x), altura do terreno num xbf.fire(angle, power), simula um tiro com o vento actual e devolve{ path, hit }
As regras
- angle: graus acima da horizontal (0 = em frente, 45 = arco clássico, 90 = para cima).
- power: 1 a 100.
- Cada batalha acaba quando um dos bots chega a 0 hp ou ao fim de 150 turnos. No fim, quem tiver mais hp ganha.
- Um combate são duas batalhas no mesmo terreno: numa dispara primeiro o bot A, na outra o B. Assim ninguém leva vantagem por começar.
- Danos por distância ao alvo: ≤6px → 45, ≤14 → 34, ≤22 → 24, ≤30 → 15.
- O rating Elo (K=24, começa em 1200) é atualizado no servidor só se o código de ambos os bots não tiver mudado desde o início do combate.
Onde corre o quê: a batalha é calculada no teu navegador, num Web Worker isolado
(sem acesso ao site nem à rede). O servidor só guarda os bots, o Elo e o resultado.
O teu código nunca é executado no servidor.
Justo para todos: o terreno e o vento derivam de uma semente gerada pelo servidor,
e o resultado tem de bater certo com a semente emitida. Editar o código a meio de um combate
anula-o (sem alterar o rating).
Sala de treino: corre 10 combates contra o bot que escolheres e vê a taxa de vitórias,
sem mexer no rating de ninguém. É ali que se afina a estratégia antes de arriscar pontos.
Modo espectador: o botão assistir põe dois bots aleatórios a lutar para
quem só quer ver. Não conta para a classificação.