Appearance
项目 2:猜数字游戏
项目概述
猜数字游戏是一个经典的控制台游戏,程序会随机生成一个指定范围内的数字,玩家需要通过输入猜测来找出这个数字。游戏会根据玩家的猜测给出提示,直到玩家猜对为止。
功能需求
- 随机生成数字:程序随机生成一个 1-100 之间的整数
- 用户输入:玩家输入猜测的数字
- 提示功能:根据玩家的猜测,给出"太大"、"太小"或"猜对了"的提示
- 统计次数:记录玩家猜测的次数
- 循环游戏:玩家猜对后,可以选择是否重新开始游戏
技术实现
java
import java.util.Random;
import java.util.Scanner;
public class NumberGuessingGame {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Random random = new Random();
boolean playAgain = true;
while (playAgain) {
System.out.println("===================================");
System.out.println(" 猜数字游戏");
System.out.println("===================================");
System.out.println("我已经想好了一个 1-100 之间的数字,");
System.out.println("你需要通过猜测来找出这个数字。");
System.out.println("===================================");
// 生成 1-100 之间的随机数
int targetNumber = random.nextInt(100) + 1;
int guessCount = 0;
boolean guessedCorrectly = false;
while (!guessedCorrectly) {
System.out.print("请输入你的猜测: ");
int userGuess = scanner.nextInt();
guessCount++;
if (userGuess < targetNumber) {
System.out.println("太小了!再试一次。");
} else if (userGuess > targetNumber) {
System.out.println("太大了!再试一次。");
} else {
System.out.println("===================================");
System.out.println("恭喜你猜对了!");
System.out.println("你用了 " + guessCount + " 次猜测。");
System.out.println("===================================");
guessedCorrectly = true;
}
}
// 询问是否再玩一次
System.out.print("是否再玩一次?(y/n): ");
scanner.nextLine(); // 消费换行符
String playAgainInput = scanner.nextLine();
playAgain = playAgainInput.equalsIgnoreCase("y");
}
System.out.println("谢谢玩猜数字游戏!再见!");
scanner.close();
}
}代码解析
导入包:
java.util.Random:用于生成随机数java.util.Scanner:用于读取用户输入
主方法:
- 创建 Scanner 和 Random 对象
- 使用
playAgain变量控制游戏循环
游戏循环:
- 显示游戏欢迎信息
- 生成 1-100 之间的随机数
- 初始化猜测次数计数器
- 使用
guessedCorrectly变量控制猜测循环
猜测循环:
- 读取用户输入的猜测
- 增加猜测次数
- 根据猜测与目标数字的大小关系给出提示
- 当猜对时,显示恭喜信息和猜测次数
重新游戏:
- 询问用户是否再玩一次
- 根据用户输入决定是否继续游戏
结束游戏:
- 显示结束信息
- 关闭 Scanner
运行示例
运行结果
===================================
猜数字游戏
===================================
我已经想好了一个 1-100 之间的数字,
你需要通过猜测来找出这个数字。
===================================
请输入你的猜测: 50
太大了!再试一次。
请输入你的猜测: 25
太小了!再试一次。
请输入你的猜测: 37
太大了!再试一次。
请输入你的猜测: 31
太小了!再试一次。
请输入你的猜测: 34
太小了!再试一次。
请输入你的猜测: 35
恭喜你猜对了!
你用了 6 次猜测。
===================================
是否再玩一次?(y/n): y
===================================
猜数字游戏
===================================
我已经想好了一个 1-100 之间的数字,
你需要通过猜测来找出这个数字。
===================================
请输入你的猜测: 50
太小了!再试一次。
请输入你的猜测: 75
太大了!再试一次。
请输入你的猜测: 62
太小了!再试一次。
请输入你的猜测: 68
太大了!再试一次。
请输入你的猜测: 65
恭喜你猜对了!
你用了 5 次猜测。
===================================
是否再玩一次?(y/n): n
谢谢玩猜数字游戏!再见!扩展功能
难度级别:添加不同难度级别,如简单(1-50)、中等(1-100)、困难(1-200)
最高分记录:记录玩家的最少猜测次数,作为最高分
提示功能:当玩家猜测次数过多时,给出额外提示
图形界面:使用 Swing 或 JavaFX 实现图形界面
多人游戏:支持多个玩家轮流猜测,看谁用最少的次数猜对
总结
猜数字游戏是一个简单但有趣的 Java 控制台应用,它演示了如何使用随机数生成、用户输入、循环和条件判断等基本 Java 技术。通过这个项目,你可以学习:
- 随机数生成:如何使用 Random 类生成随机数
- 用户交互:如何使用 Scanner 读取用户输入
- 循环控制:如何使用 while 循环控制游戏流程
- 条件判断:如何使用 if-else 语句根据条件执行不同的代码
- 游戏逻辑:如何设计简单游戏的逻辑
这个项目是一个很好的 Java 入门练习,它涵盖了 Java 基础编程的许多重要概念,同时也是一个有趣的小游戏。
