Я во время написания игры.Когда условие (playerlife <1) выполнено, игра должна остановиться.Вся игра в функции SinglePlayer.Проблема в том, что я не знаю, как закончить эту функцию.Простое условие размещения внутри функции singlePlayer не работает, потому что оно проверяется только один раз во время запуска игры. </p>
if (playerlife < 1) {
return;
}
Я также пытался поместить это условие в интервал и проверить, выполняется ли условие непрерывно, но я не могуЭто не работает, и в любом случае это не выглядит хорошей идеей.
Ниже приведена часть кода, где после перемещения игрока проверяются некоторые условия.Игра похожа на старую школу «Лягушонок».Когда игрок прыгнул в воду, он потерял 1 жизнь.После потери 3 жизней игра должна быть закончена.
$(function() {
function singlePlayer() {
checkPosition(x, y) {
for (var i = 0; i < raftsTab.length; i++) {
if (x == raftsTab[i].PosX && y == raftsTab[i].PosY) {
let thisRaft = raftsTab[i];
console.log(x, y);
console.log(thisRaft);
clearInterval(MoveToPlayer);
movePlayer(thisRaft);
return;
}
}
for (var i = 0; i < raftsTab.length; i++) {
if (x !== raftsTab[i].PosX && y !== raftsTab[i].PosY && y !== 0 && y !== 5 && y !== 10) {
player1.lifes = player1.lifes - 1;
//player dead after loosing 3 lives - it would be perfect if game could be ended from here
$('.lifes').text("Player lifes: " + player1.lifes);
for (var i = 0; i < trophiesTab.length; i++) {
if (player1.trophie - 1 == i) {
trophiesTab[i].show();
player1.trophie = -1;
}
}
player1.PosX = 5;
player1.PosY = 10;
clearInterval(MoveToPlayer);
changePosition();
return;
}
}
for (var i = 0; i < trophiesTab.length; i++) {
if (x == trophiesTab[i].PosX && y == trophiesTab[i].PosY && player1.trophie == -1) {
trophiesTab[i].hide();
}
}
if (x == 5 && y == 0 && player1.trophie !== -1) {
tresure1 = tresure1 + player1.trophie;
player1.items = player1.items + 1;
$('.items').text("Gathered items: " + player1.items + "/3");
player1.trophie = -1;
console.log(tresure1);
}
clearInterval(MoveToPlayer);
}
}
});