所以我有我的hang子手頁面本質上工作,但我希望調整它。如何重置網頁,以及如何在hang子手中贏得勝利
首先,我的失敗猜測正確合併,並且當您達到6次失敗嘗試時彈出警報。我現在遇到的問題是我無法弄清楚如何重置頁面。我試過了一些「$(':reset');」但到目前爲止,還沒有人爲我工作。目前彈出提醒後,您單擊確定,然後可以繼續猜測,顯然不按預期工作。
其次,我不知道如何識別代碼形式的勝利。當你玩遊戲時,你可以猜出所有正確的字母,但是在猜出最後一個字母時,實際上並沒有發生。我需要找到一種方法讓它認識到所有信件都已被識別。
謝謝你提前!
的jsfiddle - http://jsfiddle.net/9mxxwu0o/
的Html -
<body>
<form id="form" name="form" method="post" action="">
<input type="button" id="but" value="Start"/>
<div id="hangman-jquery">
<div id="word"></div>
<div id="alpha"></div>
</div>
</form>
<div id="win">
</div>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script src="hangman.js"></script>
</body>
JS -
function hangman(word) {
var trys = 0;
var guess = 0;
var alpha = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$.each(alpha.split(''), function(i, val) {
$('#alpha').append($('<span class="guess">' + val + '</span>'));
});
$.each(word.split(''), function(i, val) {
$('#word').append($('<span class="letter" letter="' + val + '">-</span>'));
});
$('.guess').click(function() {
var count = $('#word [letter=' + $(this).text() + ']').each(function() {
$(this).text($(this).attr('letter'));
}).length;
$(this).removeClass('guess').css('color', (count > 0 ? 'green' : 'red')).unbind('click');
if (count > 0) {
$('#win').text("Correct Guess");
} else if (count <= 0) {
trys++;
$('#win').text("You have tried to guess the word and failed " + trys + " times");
}
if (trys == 6) {
alert("You have guessed six times, you lose");
trys = 0;
$("#win").text("");
$(this).val('');
}
});
}
$(document).ready(function() {
$('#but').click(function() {
var options = new Array("DOG", "CAT", "BAT", "HORSE", "TIGER", "LION", "BEAR", "LIGER", "DOOM", "SPIDER", "TREES", "LAPTOP");
var random = 1 + Math.floor(Math.random() * 12);
hangman(options[random]);
});
});
我張貼檢測優勝條件,並重置遊戲狀態的解決方案。在這種情況下,Win檢測很容易:只需將傳遞給hangman()函數的'word'與包含該單詞的元素的'.text()'屬性進行比較(因爲正確的單詞不會包含破折號)。 – nothingisnecessary 2014-12-03 05:57:13