0
私は現在、簡単なカード比較ゲームを作成しようとしていますが、いくつか問題があります。いつでもvar playerLifeまたはcomputerLife == 0警告メッセージを表示して、新しいゲームのページを更新したいと思います。下にスクロールすると、if文を使ってこれをやろうとしているのがわかりますが、うまく動作していないようです。私はこれで全く新しいので、すべてのヘルプとヒントは大歓迎です。また、私が現時点で持っているこのコードがうまくいくなら、私はそれを聞くのが大好きです。御時間ありがとうございます。あなたはこのようにコードを変更する必要があります考慮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');
}
}());
あなたは変数が変更された後、これらのチェックを実行する必要があります。 Javascriptでスクリプト全体でこれらの変数を監視することはできません。 'whowon'の中で、' computerLife'の新しい値を設定した後、それが0になっているかどうかをチェックします。新しい値 'playerLife'を設定したら、それが0になっているかどうかを確認します。あなたのアラートが条件に該当する場合。 –
私は見ることができません== 0私はこれを参照してくださいif(playerlife <= 0 || computerLife <= 0){' – JonH