2017-04-11 6 views
0

私はターゲット番号に追加しようとする画像をクリックするゲームを追加する非常に単純な乱数を持っています。JQueryゲームは1ラウンドだけ再生され、再起動しません。

あなたは勝ち負いますが、それは目標スコアとランダムに選択された画像をリセットしますが、画像クリックは2回目には機能しません。

私は初期化とリセットの機能を複数の方法で試してみましたが、私は考えることはできません(それほど多くはありません。ここで

はスクリプトです:

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() { 
...... 
関連する問題