文章目录[隐藏]
今天我们来简单写一个JavaScript的数字炸弹游戏,游戏规则如下:
- 在游戏开始时,程序会生成一个随机数,范围在1到100之间。
- 用户输入自己的猜测后,程序会对猜测结果进行验证和判断。
- 如果用户输入的不是一个有效的数字(例如文本或空值),程序会显示"请输入一个有效的数字!"的提示。
- 如果用户输入的数字不在1到100的范围内,程序会显示"请输入1到100之间的数字!"的提示。
- 如果用户猜测的数字小于随机数,程序会显示"猜小了!"的提示。
- 如果用户猜测的数字大于随机数,程序会显示"猜大了!"的提示。
- 如果用户猜测的数字与随机数相等,程序会显示"恭喜你,猜对了!"的提示。
首先先开始写HTML部分,包含游戏名字、提示文本、输入框、提交按钮和显示结果:
<!-- 标题 -->
<h1>数字炸弹</h1>
<!-- 提示文本 -->
<p>我想一个1到100之间的数字,你来猜是多少:</p>
<!-- 用户输入框 -->
<input type="number" id="guessInput">
<!-- 猜一猜按钮 -->
<button onclick="checkGuess()">猜一猜</button>
<!-- 结果显示区域 -->
<p id="result"></p>
然后开始JavaScript部分:
- 首先生成随机数:
const randomNumber = Math.floor(Math.random() * 100) + 1;
Math.random()
是 JavaScript 中的一个内置函数,用于生成一个0到1之间的伪随机数(包含0,不包含1),通过乘以100,将随机数的范围扩大到0到100之间(包含0,不包含100),Math.floor()
是 JavaScript 中的一个内置函数,用于将一个数向下取整,即去除小数部分,保留整数部分,最后,通过加1,将随机数的范围变为1到100之间(包含1和100)。 - 然后判断输入信息与我们随机值的关系:
if (isNaN(guess)) { // 如果输入不是有效数字 document.getElementById("result").textContent = "请输入一个有效的数字!"; } else if (guess < 1 || guess > 100) { // 如果输入的数字不在1到100之间 document.getElementById("result").textContent = "请输入1到100之间的数字!"; } else if (guess < randomNumber) { // 如果猜测的数字小于随机数 document.getElementById("result").textContent = "猜小了!"; } else if (guess > randomNumber) { // 如果猜测的数字大于随机数 document.getElementById("result").textContent = "猜大了!"; } else { // 如果猜测的数字与随机数相等 document.getElementById("result").textContent = "恭喜你,猜对了!"; }
完整源码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>数字炸弹</title>
</head>
<body>
<h1>数字炸弹</h1>
<p>我想一个1到100之间的数字,你来猜是多少:</p>
<input type="number" id="guessInput">
<button onclick="checkGuess()">猜一猜</button>
<p id="result"></p>
<script>
// 生成随机数(1到100之间)
const randomNumber = Math.floor(Math.random() * 100) + 1;
function checkGuess() {
// 获取用户输入的猜测数字
if (isNaN(guess)) {
// 如果输入不是有效数字
document.getElementById("result").textContent = "请输入一个有效的数字!";
} else if (guess < 1 || guess > 100) {
// 如果输入的数字不在1到100之间
document.getElementById("result").textContent = "请输入1到100之间的数字!";
} else if (guess < randomNumber) {
// 如果猜测的数字小于随机数
document.getElementById("result").textContent = "猜小了!";
} else if (guess > randomNumber) {
// 如果猜测的数字大于随机数
document.getElementById("result").textContent = "猜大了!";
} else {
// 如果猜测的数字与随机数相等
document.getElementById("result").textContent = "恭喜你,猜对了!";
}
}
</script>
</body>
</html>
没有回复内容