Игра окончена - PullRequest
       12

Игра окончена

0 голосов
/ 12 сентября 2018

Я во время написания игры.Когда условие (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);
  }
}
});
...