猜数字游戏
创作时间:
作者:
@小白创作中心
猜数字游戏
引用
CSDN
等
12
来源
1.
https://blog.csdn.net/2201_75813676/article/details/139023434
2.
https://blog.csdn.net/2201_75396384/article/details/136819089
3.
https://codesign.qq.com/hc/article/front-end-animation-introduction/
4.
https://blog.csdn.net/m0_57344393/article/details/136109712
5.
http://www.runoob.com/w3cnote/js-random.html
6.
https://docs.pingcode.com/baike/3862330
7.
https://developer.mozilla.org/zh-CN/docs/Web/Performance/CSS_JavaScript_animation_performance
8.
https://developer.mozilla.org/zh-CN/docs/Learn_web_development/Core/Scripting/A_first_splash
9.
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Math/random#%E5%B0%9D%E8%AF%95%E4%B8%80%E4%B8%8B
10.
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Math/random
11.
http://www.yxfzedu.com/article/9225
12.
https://docs.pingcode.com/baike/2314637
在这个教程中,我们将使用HTML、CSS和JavaScript开发一个简单的网页版猜数字游戏。这个游戏的目标是让玩家在1到100之间猜测一个由程序随机生成的数字。每次猜测后,系统会提示玩家猜得太高、太低还是正好猜中,并实时更新尝试次数。
HTML结构
首先,我们需要搭建基本的HTML结构:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>猜数字游戏</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<h1>猜数字游戏</h1>
<p>请输入一个1-100之间的数字:</p>
<input type="number" id="userGuess" min="1" max="100">
<br>
<button id="submitGuess">提交</button>
<p id="resultMessage"></p>
<p id="attemptCount"></p>
<ul id="guessHistory"></ul>
<button id="resetGame">再来一次</button>
<script src="script.js"></script>
</body>
</html>
CSS样式
接下来,我们添加一些基本的CSS样式来美化界面:
body {
font-family: Arial, sans-serif;
text-align: center;
background-color: #f0f8ff;
}
h1 {
color: #333;
}
input {
width: 100px;
height: 30px;
font-size: 16px;
margin: 10px;
}
button {
background-color: #4CAF50;
color: white;
padding: 10px 20px;
font-size: 16px;
border: none;
cursor: pointer;
margin: 10px;
}
button:hover {
background-color: #45a049;
}
#resultMessage {
color: red;
font-weight: bold;
}
#guessHistory {
margin-top: 20px;
}
JavaScript功能
现在,我们来实现核心的JavaScript功能:
// 生成1-100之间的随机数
const targetNumber = Math.floor(Math.random() * 100) + 1;
let attempts = 0;
const historyList = document.getElementById('guessHistory');
// 处理用户提交的猜测
document.getElementById('submitGuess').addEventListener('click', function() {
const userGuess = parseInt(document.getElementById('userGuess').value);
attempts++;
if (isNaN(userGuess) || userGuess < 1 || userGuess > 100) {
document.getElementById('resultMessage').textContent = '请输入一个有效的数字(1-100)';
return;
}
let message = '';
if (userGuess === targetNumber) {
message = `恭喜你,猜对了!答案就是${targetNumber}。你总共尝试了${attempts}次。`;
document.getElementById('submitGuess').disabled = true;
} else if (userGuess < targetNumber) {
message = '太低了,再试试!';
} else {
message = '太高了,再试试!';
}
document.getElementById('resultMessage').textContent = message;
document.getElementById('attemptCount').textContent = `尝试次数:${attempts}`;
const li = document.createElement('li');
li.textContent = `第${attempts}次猜测:${userGuess} - ${message}`;
historyList.appendChild(li);
document.getElementById('userGuess').value = '';
});
// 重置游戏
document.getElementById('resetGame').addEventListener('click', function() {
location.reload();
});
动画效果(可选)
为了增加趣味性,我们可以在玩家猜对数字时添加一个简单的动画效果:
function animateCorrectGuess() {
const resultElement = document.getElementById('resultMessage');
let opacity = 1;
const timer = setInterval(() => {
if (opacity <= 0.1) {
clearInterval(timer);
}
resultElement.style.opacity = opacity;
opacity -= opacity * 0.1;
}, 200);
}
// 在猜对时调用动画函数
if (userGuess === targetNumber) {
message = `恭喜你,猜对了!答案就是${targetNumber}。你总共尝试了${attempts}次。`;
document.getElementById('submitGuess').disabled = true;
animateCorrectGuess();
}
测试与优化
最后,我们需要测试游戏的所有功能,确保:
- 输入验证:只接受1-100之间的有效数字
- 反馈信息:正确显示猜大、猜小或猜对的提示
- 尝试次数:准确记录并显示
- 历史记录:正确保存每次猜测
- 重置功能:点击“再来一次”按钮后能重新开始游戏
通过以上步骤,我们就完成了一个简单的网页版猜数字游戏。这个游戏不仅适合初学者练习HTML、CSS和JavaScript的基础知识,还能增加编程的乐趣。
热门推荐
选购鸡腿肉必看:外观、气味、触感三步鉴别法
DASH饮食 vs CHH饮食:高血压患者如何选择更适合的饮食方案
最新研究:混合型磨玻璃结节生长速度是纯磨玻璃结节两倍以上
专家解析:CT检查如何助力磨玻璃结节早诊早治
儿童甲流防治全攻略:从用药到家庭护理
甲流来袭,儿童用药首选奥司他韦,玛巴洛沙韦慎用
儿童甲流治疗:奥司他韦和玛巴洛沙韦的使用指南
磷酸奥司他韦成儿童甲流首选药,医生提醒这些使用注意事项
甲流高发期儿童用药指南:奥司他韦和玛巴洛沙韦如何选择
《第五人格》新手队伍搭配攻略:从角色定位到实战技巧
《第五人格》最强阵容搭配攻略:基于2024年最新角色强度
《第五人格》团队合作秘籍大揭秘
《无限暖暖》奇想星打卡攻略:40个点位全解析
大同婚礼:八项独特民俗里的文化传承
从责任培养到空间思维:三款适合6岁男孩的益智游戏
山西传统婚礼:从哭嫁到倒宝壶的独特习俗
山西婚礼的独特魅力:迎亲与哭嫁
《柳叶刀》最新研究:替米沙坦新疗法展现突破性降压效果
冠心病患者如何通过生活方式改善低血压?
张先生教你冠心病患者如何心理调适
揭秘灵芝孢子粉:六大功效助力健康养生
医生推荐:这样洗头最健康,8大错误习惯要避免
如何用歌词文案打动人心?
个体工商户如何高效管理公户资金?
棕色羽绒服+蓝色牛仔裤:古力娜扎的显瘦搭配术
古力娜扎VOGUE盛典造型惊艳,力挺中国设计师
刀郎前妻现状揭秘:从私奔到后悔
刀郎前妻杨娜公开道歉,网友炸锅:到底值不值得原谅?
冬季肾上腺素高血压患者的饮食指南
冬季高血压患者的心理调适指南