From a0a297b0fd4839ef835391b33a177f96b4965606 Mon Sep 17 00:00:00 2001 From: KuaiLeTianShi Date: Thu, 13 Feb 2025 07:18:08 +0800 Subject: [PATCH] GuessNumberGame --- GuessNumberGame/.gitignore | 29 ++++++++++++ GuessNumberGame/.idea/.gitignore | 8 ++++ GuessNumberGame/.idea/misc.xml | 6 +++ GuessNumberGame/.idea/modules.xml | 8 ++++ GuessNumberGame/.idea/vcs.xml | 6 +++ GuessNumberGame/GuessNumberGame.iml | 11 +++++ GuessNumberGame/src/Main.java | 72 +++++++++++++++++++++++++++++ 7 files changed, 140 insertions(+) create mode 100644 GuessNumberGame/.gitignore create mode 100644 GuessNumberGame/.idea/.gitignore create mode 100644 GuessNumberGame/.idea/misc.xml create mode 100644 GuessNumberGame/.idea/modules.xml create mode 100644 GuessNumberGame/.idea/vcs.xml create mode 100644 GuessNumberGame/GuessNumberGame.iml create mode 100644 GuessNumberGame/src/Main.java diff --git a/GuessNumberGame/.gitignore b/GuessNumberGame/.gitignore new file mode 100644 index 0000000..f68d109 --- /dev/null +++ b/GuessNumberGame/.gitignore @@ -0,0 +1,29 @@ +### IntelliJ IDEA ### +out/ +!**/src/main/**/out/ +!**/src/test/**/out/ + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache +bin/ +!**/src/main/**/bin/ +!**/src/test/**/bin/ + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/GuessNumberGame/.idea/.gitignore b/GuessNumberGame/.idea/.gitignore new file mode 100644 index 0000000..35410ca --- /dev/null +++ b/GuessNumberGame/.idea/.gitignore @@ -0,0 +1,8 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml +# 基于编辑器的 HTTP 客户端请求 +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/GuessNumberGame/.idea/misc.xml b/GuessNumberGame/.idea/misc.xml new file mode 100644 index 0000000..7d862fb --- /dev/null +++ b/GuessNumberGame/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/GuessNumberGame/.idea/modules.xml b/GuessNumberGame/.idea/modules.xml new file mode 100644 index 0000000..603d00c --- /dev/null +++ b/GuessNumberGame/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/GuessNumberGame/.idea/vcs.xml b/GuessNumberGame/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/GuessNumberGame/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/GuessNumberGame/GuessNumberGame.iml b/GuessNumberGame/GuessNumberGame.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/GuessNumberGame/GuessNumberGame.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/GuessNumberGame/src/Main.java b/GuessNumberGame/src/Main.java new file mode 100644 index 0000000..d79a460 --- /dev/null +++ b/GuessNumberGame/src/Main.java @@ -0,0 +1,72 @@ +import java.util.Random; +import java.util.Scanner; + +public class Main { + public static void main(String[] args) { + Random random = new Random(); + Scanner scanner = new Scanner(System.in); + + // 外层循环:允许用户多次玩游戏 + while (true) { + // 游戏开始提示 + System.out.println("欢迎来到猜数字游戏!"); + System.out.println("请选择游戏难度:"); + System.out.println("1. 简单模式(最多100次猜测)"); + System.out.println("2. 中等模式(最多10次猜测)"); + System.out.println("3. 困难模式(最多5次猜测)"); + + // 获取用户选择的难度 + int difficulty = 0; + while (difficulty < 1 || difficulty > 3) { + System.out.print("请输入难度(1/2/3): "); + difficulty = scanner.nextInt(); + if (difficulty < 1 || difficulty > 3) { + System.out.println("无效输入,请重新选择!"); + } + } + + // 根据难度设置最大猜测次数 + int maxTries = 100; // 默认为简单模式(最多100次) + if (difficulty == 2) { + maxTries = 10; + } else if (difficulty == 3) { + maxTries = 5; + } + + // 生成随机数 + int numberToGuess = random.nextInt(100) + 1; // 生成1到100之间的随机数 + + System.out.println("我已经想好了一个1到100之间的数字。"); + + // 开始游戏循环 + for (int numberOfTries = 0; numberOfTries < maxTries; numberOfTries++) { + System.out.print("请输入你的猜测: "); + int guess = scanner.nextInt(); + + if (guess < numberToGuess) { + System.out.println("太小了,再试一次!"); + } else if (guess > numberToGuess) { + System.out.println("太大了,再试一次!"); + } else { + System.out.println("恭喜你,猜对了!你总共猜了 " + (numberOfTries + 1) + " 次。"); + break; // 猜中后退出当前游戏循环 + } + + // 如果达到最大猜测次数且未猜中 + if (numberOfTries == maxTries - 1) { + System.out.println("很遗憾,你已经用完了所有猜测机会。正确答案是:" + numberToGuess); + } + } + + // 询问用户是否继续游戏 + System.out.print("是否继续游戏?(y/n): "); + String continueChoice = scanner.next().toLowerCase(); + if (!continueChoice.equals("y")) { + System.out.println("感谢游玩,再见!"); + break; // 用户选择不继续时退出外层循环 + } + } + + scanner.close(); + } +} \ No newline at end of file