html写一个猜数字游戏,HTML5猜字游戏

JavaScript

语言:

JaveScriptBabelCoffeeScript

确定

var wordChoices = [

'hangman',

'untitled',

'captain',

'anonymous',

'save',

'settings',

'change view',

'log in',

'sign up',

'console',

'assets',

'shortcuts',

'comments',

'delete',

'collections',

'fork',

'share',

'export',

'embed'

];

var result = 0;

var wordStorage = '';

var guesses = '';

var missStorage = '';

var word = document.querySelector('#word');

var guess = document.querySelector('#guess');

var misses = document.querySelector('#misses');

var man = document.querySelectorAll('.man-0');

function generateWordStorage() {

wordStorage = wordChoices[Math.floor(Math.random() * wordChoices.length)];

}

function generateGuessWord() {

var guessWord = '';

var isFinish = true;

for (var i = 0; i < wordStorage.length; i++) {

if (wordStorage[i] != ' ') {

if (guesses.toUpperCase().indexOf(wordStorage[i].toUpperCase()) >= 0) {

guessWord += wordStorage[i].toUpperCase() + ' ';

} else {

guessWord += '_ ';

isFinish = false;

}

} else {

guessWord += '  ';

}

}

word.innerHTML = 'WORD: ' + guessWord;

if (isFinish) {

result = 1;

}

}

function generateMisses() {

var missedLetters = '';

for (var i = 0; i < man.length; i++) {

man[i].style.display = 'none';

}

for (var i = 0; i < missStorage.length; i++) {

document.querySelector('.man-' + (i + 1)).style.display = 'block';

missedLetters += missStorage[i] + ', ';

}

missedLetters = missedLetters.substring(0, missedLetters.length - 2);

misses.innerHTML = 'MISSES: ' + missedLetters;

if (missStorage.length >= 6) {

result = 2;

}

}

function initializeGame() {

result = 0;

wordStorage = '';

guesses = '';

missStorage = '';

word.innerText = '';

guess.value = '';

misses.innerText = '';

generateWordStorage();

generateGuessWord();

generateMisses();

guess.disabled = false;

}

initializeGame();

guess.addEventListener('keypress', function(evt) {

if (evt.keyCode === 13) {

if (result === 0) {

var getTime = setInterval(function() {

if (wordStorage.toUpperCase().indexOf(guess.value.toUpperCase()) >= 0) {

guesses += guess.value.toUpperCase();

} else {

if (missStorage.toUpperCase().indexOf(guess.value.toUpperCase()) < 0) {

missStorage += guess.value.toUpperCase();

}

}

guess.value = '';

generateGuessWord();

generateMisses();

clearInterval(getTime);

var getTime2 = setInterval(function() {

if (result === 1) {

guess.disabled = true;

if (confirm('You won! You have ' + missStorage.length + ' miss(es). ' + 'Do you like to try again?')) {

initializeGame();

}

} else if (result === 2) {

guess.disabled = true;

if (confirm('You lose! The answer is "' + wordStorage + '". Better luck next time. Do you like to try again?')) {

initializeGame();

}

}

clearInterval(getTime2);

});

}, 100);

}

}

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值