Кажется, что код запускает оператор if даже после того, как условие start установлено в true.
Я тоже пытался это сделать, но у меня все та же ошибка.
если (началось === ложно && началось! == верно)
if (started == false){ /*this always runs even after started is
set to true??? */
//when any key pressed, start the game // exit if statement?
$(document).on("keypress",function(event){
console.log(started + "started inside keydown function");
startGame(); // <-- runs another function that also sets
//started to true
started = true;
});
$("body").on("click",function(){
console.log(started + "inside click function");
checkClicks++;
if(checkClicks > 2){
$("h1").text("Press any KEY first to start the game!");
}
});
}
Решение ниже для тех, у кого есть подобные проблемы. Оказывается, callBacks всегда вызывается несмотря ни на что. Лучше всего помещать в них заявления.
$(document).ready(function() {
var started = false;
var checkClicks = 0;
/*change h1 to notify player to type a key first*/
//when any key pressed, start the game // exit if statement?
$(document).on("keypress",function(){
if (started == false) {
//console.log(started + "started inside keydown function");
startGame();
started = true;
}
}
);
$("body").on("click",function(){
if(started == false){
//console.log(started + "inside click function");
checkClicks++;
if(checkClicks > 2){
$("h1").text("Press any KEY first to start the game!");
}
}
});