Как увеличивать значения одновременно, а не отображать их по порядку? - PullRequest
0 голосов
/ 16 февраля 2020

Я делаю гоночную игру в ReactJS, и мне нужно увеличивать значения четырех расовых сущностей (в моем случае это деления), а не отображать их и увеличивать их по одному. Прямо сейчас все они увеличивают нажатие кнопки с произвольной скоростью.

changePlayerArr.map(player => {
  console.log(player)
  player.speed = player.speed - Math.floor(Math.random() * 11 + 5)
});

Они перемещаются на VW за CSS, и цель состоит в том, чтобы довести их до -100vw, что является концом экрана. Тем не менее, я не могу знать, кто из них является настоящим победителем, если я увеличу их скорость с первого до последнего или наоборот. Есть предложения?

1 Ответ

1 голос
/ 17 февраля 2020

Javascript является однопоточным, не так много в плане параллелизма. Я думаю, что лучшее, что вы можете сделать, - это сохранить структуру некоторого показателя c, которая важна для гоночных игроков (например, смещение), и применять аккумулятор смещения (displacementDelta = rate * time) в каждом цикле рендеринга, чтобы определить новый отсортированный порядок. .

Победителем может быть элемент на первом месте (возможно, индекс 0?) После накопления смещения и сортировки структуры после того, как хотя бы один элемент достигнет гоночной дистанции.

...