2017-04-11 25 views
0

我有一個非常簡單的隨機數字添加遊戲,你點擊圖像來嘗試添加到目標數字。JQuery遊戲只玩一輪,不會重新啓動

它通過一輪迴合贏得或失敗,它重置目標分數和隨機選擇的圖像,但圖像點擊在第二輪中不起作用。我試圖用多種方式來完成我的初始化和重置函數,但我無法想到的(這不是很多,我對編碼很陌生)似乎工作。

這裏的腳本:

var wins = 0; 
var losses = 0; 
var counter = 0; 
var randomNumberToGuess = []; 

function reset(){ 
    $("#crystal").empty(); 
    $("#score").empty(); 
    counter = 0; 
    randomNumberToGuess = []; 
    initialize(); 
} 

function initialize(){ 

randomNumberToGuess = [Math.floor(Math.random() * 101) + 19]; 

$("#number-to-guess").text(randomNumberToGuess); 

//遍歷所有numberOptions,使晶體和每個值...

var numberOptions = ["crystal1", "crystal2", "crystal3", "crystal4"]; 

for (var i = 0; i < numberOptions.length; i++) { 

    var images = ["assets/images/mind.png", "assets/images/power.png", 
"assets/images/reality.png", "assets/images/soul.png", 
"assets/images/space.png", "assets/images/time.png"]; 

    var imageCrystal = $("<img>"); 

    imageCrystal.addClass("crystal"); 



    imageCrystal.attr("src", images[Math.floor(Math.random() * 
images.length)]); 


//this gives the crystals a randomly assigned value 
    imageCrystal.attr("data-crystalvalue", [Math.floor(Math.random() * 11) + 
1]); 




imageCrystal.attr[Math.floor(Math.random() * 11) + 1]; 


$("#crystal").append(imageCrystal); 

} 
} 

initialize(); 

$(".crystal").on("click", function() { 


var crystalValue = ($(this).attr("data-crystalvalue")); 

crystalValue = parseInt(crystalValue); 


counter += crystalValue; 

$("#score").text(counter); 

if (counter == randomNumberToGuess){ 
    alert("You win!"); 
    wins++; 
    $("#wins").text(wins); 
    reset(); 

} 

else if (counter > randomNumberToGuess) { 
    alert("You lose!"); 
    losses++; 
    $("#losses").text(losses); 
    reset(); 


} 
}); 

回答

0

代表你點擊的事件,您的圖像動態添加

$('body').on("click",".crystal", function() { 
...... 
相關問題