2016-05-18 8 views
0

Ich versuche gerade, ein einfaches Kartenvergleichsspiel zu machen, aber ich habe einige Probleme. Wann immer die var playerLife oder computerLife == 0 Ich möchte eine Warnmeldung anzeigen und die Seite für ein neues Spiel aktualisieren. Wenn Sie nach unten scrollen, sehen Sie, dass ich versuche, dies mit der if-Anweisung zu tun, aber es scheint nicht zu funktionieren. Ich bin ziemlich neu in diesem so alle Hilfe und Tipps sind willkommen. Auch wenn dieser Code, den ich im Moment habe, besser sein kann, sollte ich es gerne hören. Vielen Dank für Ihre Zeit.Wie kann ich eine Warnung anzeigen, wenn überhaupt eine var == 0?

var cards = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 
      1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8,8, 9, 9, 10, 10]; 
var shuffledCards = shuffle(cards); 
var playerDeck = shuffledCards.slice(0,20); 
var computerDeck = shuffledCards.slice(20); 
var playerlife = 25; 
var computerLife = 25; 

function shuffle(array) { 
    var m = array.length, t, i; 

    // While there remain elements to shuffle… 
    while (m) { 

     // Pick a remaining element… 
     i = Math.floor(Math.random() * m--); 

     // And swap it with the current element. 
     t = array[m]; 
     array[m] = array[i]; 
     array[i] = t; 
    } 

    return array; 
} 

function getTopCard(deck) { 
    return deck[0]; 
} 

function dealCards() { 
    var playerTopCard = getTopCard(playerDeck); 
    var computerTopCard = getTopCard(computerDeck); 
    var cardImage = "<img src='http://i1194.photobucket.com/albums/aa365/Sarah_Dunlap/card_back.png'/>"; 

    whoWon(); 
    console.log('--------------------'); 

    document.getElementById("card1").innerHTML = "<div class='cardNumber'>" + playerTopCard + '</div>' + cardImage; 
    document.getElementById("card2").innerHTML = "<div class='cardNumber'>" + computerTopCard + '</div>' + cardImage; 
    document.getElementById("scoreComputer").innerHTML = computerLife; 
    document.getElementById("scorePlayer").innerHTML = playerlife; 
} 

function whoWon() { 
    var playerTopCard = getTopCard(playerDeck); 
    var computerTopCard = getTopCard(computerDeck); 

    if (playerTopCard > computerTopCard) { 
     console.log('Player Won! ' + playerTopCard + '/' + computerTopCard); 
     computerLife = computerLife - (playerTopCard - computerTopCard); 
     playerDeck.shift(); 
     computerDeck.shift(); 
     console.log('Player Life - ' + playerlife); 
     console.log('Computer Life - ' + computerLife); 
    } else if (playerTopCard < computerTopCard) { 
     console.log('Computer Won! ' + playerTopCard + '/' + computerTopCard); 
     playerlife = playerlife - (computerTopCard - playerTopCard); 
     playerDeck.shift(); 
     computerDeck.shift(); 
     console.log('Player Life - ' + playerlife); 
     console.log('Computer Life - ' + computerLife); 
    } else { 
     console.log('Tie! ' + playerTopCard + '/' + computerTopCard); 
     playerDeck.shift(); 
     computerDeck.shift(); 
     console.log('Player Life - ' + playerlife); 
     console.log('Computer Life - ' + computerLife); 
    } 
} 

shuffle(cards); 
console.log('playerDeck - ' + playerDeck); 
console.log('computerDeck - ' + computerDeck); 

document.getElementById("click").addEventListener("click", dealCards); 

(function gameEnd() { 
    if (playerlife <=0 || computerLife <=0) { 
     alert('DONE'); 
    } 
}()); 
+0

Sie haben diese Kontrollen durchzuführen, nachdem die Variablen geändert werden. Sie können Javascript nicht einfach während des gesamten Skripts für Sie ansehen. Innerhalb von "whowon", nachdem Sie den neuen Wert von 'computerLife' eingestellt haben, prüfen Sie, ob es jetzt 0 ist. Nachdem Sie den neuen Wert von' playerLife' eingestellt haben, prüfen Sie, ob es jetzt 0 ist. In beiden Fällen produzieren Ihre Warnung, wenn die Bedingung wahr ist. –

+0

Ich sehe nicht == 0 Ich sehe das 'if (playerlife <= 0 || computerLife <= 0) {' – JonH

Antwort

0

Sie sollten Ihren Code zu ändern, wie dies unter Berücksichtigung

// new function 
function checkIsGameOver() { 
    if (playerlife <=0 || computerLife <=0) { 
     alert('DONE'); 
    } 
} 
function whoWon() { 
    var playerTopCard = getTopCard(playerDeck); 
    var computerTopCard = getTopCard(computerDeck); 

    if (playerTopCard > computerTopCard) { 
     console.log('Player Won! ' + playerTopCard + '/' + computerTopCard); 
     computerLife = computerLife - (playerTopCard - computerTopCard); 
     // added code here... 
     checkIsGameOver(); 
     playerDeck.shift(); 
     computerDeck.shift(); 
     console.log('Player Life - ' + playerlife); 
     console.log('Computer Life - ' + computerLife); 
    } else if (playerTopCard < computerTopCard) { 
     console.log('Computer Won! ' + playerTopCard + '/' + computerTopCard); 
     playerlife = playerlife - (computerTopCard - playerTopCard); 
     // added code here... 
     checkIsGameOver(); 
     playerDeck.shift(); 
     computerDeck.shift(); 
     console.log('Player Life - ' + playerlife); 
     console.log('Computer Life - ' + computerLife); 
    } else { 
     console.log('Tie! ' + playerTopCard + '/' + computerTopCard); 
     playerDeck.shift(); 
     computerDeck.shift(); 
     console.log('Player Life - ' + playerlife); 
     console.log('Computer Life - ' + computerLife); 
    } 
} 
Verwandte Themen