小游戏js实现
使用JavaScript实现小游戏
创建一个小游戏需要HTML、CSS和JavaScript的结合。以下是一个简单的猜数字游戏的实现方法。
HTML结构
<!DOCTYPE html>
<html>
<head>
<title>猜数字游戏</title>
<style>
body {
font-family: Arial, sans-serif;
text-align: center;
margin-top: 50px;
}
#game {
margin: 20px auto;
padding: 20px;
border: 1px solid #ccc;
width: 300px;
border-radius: 10px;
}
#guess {
padding: 5px;
width: 100px;
}
button {
padding: 5px 15px;
background-color: #4CAF50;
color: white;
border: none;
border-radius: 4px;
cursor: pointer;
}
#message {
margin-top: 20px;
font-weight: bold;
}
</style>
</head>
<body>
<div id="game">
<h1>猜数字游戏</h1>
<p>我已经想好了一个1-100之间的数字,猜猜看是多少?</p>
<input type="number" id="guess" min="1" max="100">
<button onclick="checkGuess()">猜</button>
<div id="message"></div>
<div id="attempts">尝试次数: 0</div>
</div>
<script src="game.js"></script>
</body>
</html>
JavaScript代码(game.js)
// 生成随机数
let randomNumber = Math.floor(Math.random() * 100) + 1;
let attempts = 0;
function checkGuess() {
const guessInput = document.getElementById('guess');
const message = document.getElementById('message');
const attemptsDisplay = document.getElementById('attempts');
const userGuess = parseInt(guessInput.value);
if (isNaN(userGuess) || userGuess < 1 || userGuess > 100) {
message.textContent = '请输入1-100之间的有效数字';
return;
}
attempts++;
attemptsDisplay.textContent = `尝试次数: ${attempts}`;
if (userGuess === randomNumber) {
message.textContent = `恭喜!你猜对了!数字是${randomNumber}`;
message.style.color = 'green';
guessInput.disabled = true;
} else if (userGuess < randomNumber) {
message.textContent = '太小了,再试一次';
message.style.color = 'red';
} else {
message.textContent = '太大了,再试一次';
message.style.color = 'red';
}
guessInput.value = '';
guessInput.focus();
}
游戏实现要点
随机数生成
使用Math.random()生成0-1之间的随机数,乘以100后取整,加1得到1-100的随机整数。
游戏逻辑 比较用户输入与随机数,给出"太大"、"太小"或"正确"的反馈。每次猜测后清空输入框并保持焦点。
界面交互 通过DOM操作更新消息和尝试次数显示。猜中后禁用输入框防止继续游戏。
扩展功能建议
添加重新开始按钮
function restartGame() {
randomNumber = Math.floor(Math.random() * 100) + 1;
attempts = 0;
document.getElementById('guess').disabled = false;
document.getElementById('message').textContent = '';
document.getElementById('attempts').textContent = '尝试次数: 0';
}
添加难度选择 可以通过修改随机数范围来调整难度,例如:
function setDifficulty(level) {
if (level === 'easy') {
randomNumber = Math.floor(Math.random() * 50) + 1;
} else if (level === 'hard') {
randomNumber = Math.floor(Math.random() * 200) + 1;
} else {
randomNumber = Math.floor(Math.random() * 100) + 1;
}
restartGame();
}
这个基础框架可以扩展为更复杂的游戏,如添加计时功能、保存最高分、添加动画效果等。







