Closed dpasqualin closed 8 years ago
A velocidade máxima virou um parâmetro de configuração em config.json (splitSpeed, cujo default é 25, quando o usuário se divide ou defaultSpeed, cujo default é 6.25, quando ele está andando normalmente).
O cálculo da velocidade, feito na função movePlayer, considerando que o mouse esteja fora do raio da célula, é dado por:
(Valores default: c.slowBase = 4.5, c.defaultPlayerMass = 10). initMassLog = util.log(c.defaultPlayerMass, c.slowBase); slowDown = util.log(player.cells[i].mass, c.slowBase) - initMassLog + 1;
deg = Math.atan2(target.y, target.x);
deltaY = player.cells[i].speed * Math.sin(deg) / slowDown; deltaX = player.cells[i].speed * Math.cos(deg) / slowDown;
Atualmente eu nem sei qual é a velocidade máxima. Preciso saber disso para explicar no manual de como fazer robôs. Melhor do que saber seria colocar isso como um parâmetro no config.json.
Preciso também saber ao certo o fator de "desaceleração". Quanto mais massa uma célula tem, mais lenta ela anda. Mas quão mais lenta? Isso pode ser relevante na hora de escrever um robô.