2016-04-05 18 views
1
var firstMove = 0; 
var pictures = ['boar.jpg','lion.jpg','bones.jpg','eagle.jpg','wolf.jpg','boar.jpg','lion.jpg','bones.jpg','eagle.jpg','wolf.jpg','boar.jpg','lion.jpg','bones.jpg','eagle.jpg','wolf.jpg'] 
pictures.sort() 
function replyClick(clicked_id) 
{ 
    //if player already draw one card; 
    if (firstMove){ 
    var image = document.getElementById(clicked_id); 
    image.innerHTML = '<img src='+pictures[clicked_id-1]+' />' 
    var firstPicture = document.getElementById(firstMove); 
    if (image.innerHTML == firstPicture.innerHTML){ 
     firstMove=0; 

    } 
    else { 
     image.innerHTML = ""; 
     firstPicture.innerHTML = ""; 
     firstMove=0 
    } 

    } 
    // if player didnt draw any card; 
    else { 
    var image = document.getElementById(clicked_id); 
    image.innerHTML = '<img src='+pictures[clicked_id-1]+' />' 
    firstMove = clicked_id 
    } 
} 


<div class="card" id="1" onclick="replyClick(this.id)"></div> 
<div class="card" id="2" onclick="replyClick(this.id)"></div> 

İki aynı resim için basit bir pexeso oyunu yaratmaya çalışıyorum.uygulamadan hemen sonra alt öğeyi gösterme

Sorum birileri iç koşulu sonra it.Because benim komut gösterisi resmi tıklayın hemen sonra belirli resim göstermek için bu kodu nasıl değiştirileceği ama bu dizi elemanlarını karşılaştırın

+0

için

image.innerHTML == firstPicture.innerHTML 

UPD
Yani 'id' dizide endeksidir aynıdır? – gurvinder372

cevap

0

cevap me.Thanks için çok geç .

pictures[clicked_id-1] == pictures[firstMove-1] 

küçük gecikme kullanım setTimeout

// other code 
function replyClick(clicked_id) { 
    if (firstMove){ 
     var imageSrc = pictures[clicked_id-1]; 
     var prevImageSrc = pictures[firstMove-1]; 

     var image = document.getElementById(clicked_id); 
     image.innerHTML = '<img src='+imageSrc+' />' 
     var firstPicture = document.getElementById(firstMove); 

     if (imageSrc == prevImageSrc) { 
      firstMove=0; 
     } else { 
      // code will run after 1s delay 
      setTimeout(function() { 
       image.innerHTML = ""; 
       firstPicture.innerHTML = ""; 
       firstMove=0; 
      }, 1000); // delay = 1 second 
     } 

    } else { 
     var image = document.getElementById(clicked_id); 
     image.innerHTML = '<img src='+pictures[clicked_id-1]+' />' 
     firstMove = clicked_id 
    } 
} 
+0

Farklı numaralar olduğundan clicked_id == firstMove'u karşılaştıramıyorum. firstMove, ilk resim numarasıdır ve bu sayı 0'dan farklıysa, – Spyx

+0

@Spyx ile tıklandığında, güncelleme koşulu için – ThisMan

+0

numaralı yanıtı güncelleştirin. Ancak yine de sorunumu çözmedi. Bu parçayı, bu parçayı çalıştırmadan önce ikinci bir saniye göstermek istiyorum { image.innerHTML = ""; firstPicture.innerHTML = ""; firstMove = 0 } – Spyx

İlgili konular