簡體   English   中英

蛇游戲的重啟按鈕

[英]Restart button for snake game

我從幾周開始學習 JS。 我試圖做這個指導練習,添加重啟按鈕等功能。 我知道我做錯了什么,有人可以幫助我理解嗎?

這是我的代碼: https : //github.com/StefaniaGalazzo/snake-game

到目前為止,您的代碼看起來不錯。 從您的 JS 文件來看,問題似乎出在這個函數上:

function main() {

    if (has_game_ended()) return;

    changing_direction = false;
    setTimeout(function onTick() {
    clear_board();
    drawFood();
    move_snake();
    drawSnake();
    // Call main again
    main();
    }, 100)
    
}

特別是這一行:

if (has_game_ended()) return;

如果你想要重啟按鈕:

restartBtn.addEventListener("click", () => {
  return main();  
});

要在按下時重置電路板,您應該刪除該 if 語句。 或者,您可以更改添加一個! 給它

if (!has_game_ended()) return;

因此,如果 has_game_ended 為真,則該行將被跳過,並且您的 main() 函數中低於該行的重置游戲函數將實際執行。 目前,如果您的游戲已經結束,這不是您想要的,則您返回(退出)該函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM