Я знаю, что на этот вопрос есть похожие вопросы, но у меня есть своего рода специфика c, поэтому мне нужен какой-то совет.
Я делаю игру в JS, в которой участвуют 4 гоночных дива, и линия фини sh -70vw (гонки справа налево). Они случайным образом увеличивают свою VW от 0 до 100 на 5-15 VW при нажатии кнопки. Прямо сейчас, что у меня есть в моем коде, чтобы проверить порядок победителей, это:
if (this.state.winnersArr.length < 4) {
if (
changePlayerArr[0].speed <= -70 &&
!this.state.winnersArr.includes(changePlayerArr[0].name)
) {
this.state.winnersArr.push(changePlayerArr[0].name);
}
if (
changePlayerArr[1].speed <= -70 &&
!this.state.winnersArr.includes(changePlayerArr[1].name)
) {
this.state.winnersArr.push(changePlayerArr[1].name);
}
if (
changePlayerArr[2].speed <= -70 &&
!this.state.winnersArr.includes(changePlayerArr[2].name)
) {
this.state.winnersArr.push(changePlayerArr[2].name);
}
if (
changePlayerArr[3].speed <= -70 &&
!this.state.winnersArr.includes(changePlayerArr[3].name)
) {
this.state.winnersArr.push(changePlayerArr[3].name);
}
return changePlayerArr;
Здесь у меня есть массив, который выдвигает div, который проходит -70vw, который является строкой fini sh. Однако, поскольку проверяет скорость div (changePlayerArr [0] .speed) go от первого div [0] до последнего div [3], если предположить, что последний div имеет значение -69vw, а первый - -65vw и кнопка включения щелкните по обоим элементам go до -70vw, первый div все равно останется первым, так как проверка if помещает его первым в массив-победитель.
Так что мне было интересно, могу ли я сделать что-то вроде этого:
if(div[0].speed <= -70 || div[1].speed <= -70 || div[2].speed <= -70 || div[3].speed <= -70)
{ // Check which statement was true in order and push to array}
Но в этом случае проверки по-прежнему go слева направо, так что я думаю, что это тоже не сработает, даже если это будет возможно. Какие-либо предложения? (Извините, если объяснение было немного отстойным, я все еще новичок в этом) :)
РЕДАКТИРОВАТЬ: Возможно, это не способ, которым я проверяю победителей, но порядок, в котором я увеличиваю их скорости. Их приращение, вероятно, должно происходить одновременно, а не от первого div к последнему div, но все еще остается вопрос, как я могу это сделать: /