任务六、猜数小游戏

任务六、猜数小游戏

  • 游戏规则:程序产生一个[1, 100]之间的随机整数,用户输入整数进行猜测,如果猜对了,就结束游戏;如果猜错了,程序会提示你是猜高了还是猜低了,然后让你继续输入整数进行猜测
  • net.ouyangyi.p02.t06包里创建Task06
    在这里插入图片描述
    在这里插入图片描述
  • 运行程序,查看结果
    在这里插入图片描述
  • net.ouyangyi.p02.t06包里创建Task06_1
    在这里插入图片描述
    在这里插入图片描述
  • 运行程序,查看结果
    在这里插入图片描述

(二)知识点讲解

1、前测试条件循环 - while循环

(1)语法格式
初始条件
while(循环条件) {
	语句块
	break|contiue;
	更新条件
}
(2)执行情况

在这里插入图片描述

  • 首先判断循环条件式真还是假,如果是真的,执行循环体,然后再次判断循环条件。如果是真的,继续循环,直到循环条件变成假的。有一种特殊情况:如果第一次判断循环条件就不成立,那么一次循环也不执行。

2、后测试条件循环 - do…while循环

(1)语法格式
初始条件
do {
	语句块
	break|continue;
	更新条件
} while (循环条件);
(2)执行情况

在这里插入图片描述

  • 首先执行一次循环,然后判断循环条件,如果为真,继续循环,直到条件为假时结束循环。后测试当型循环,属于先上车后买票,无论如何都会执行一次循环。

3、随机类 - Random

  • 查看Random的方法
    在这里插入图片描述
  • 产生指定范围的随机整数[a,b]
Random random = new Random();
int x = a + random.nextInt(b - a);

(三)拓展练习

任务1、猜数小游戏(多次版)

  • 如果用户猜对了,会询问用户是否继续玩。
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
猜数游戏是一款常见的编程练习,其中通常包含一个计时器功能,用来增加游戏的互动性和挑战性。在Java中,你可以使用`java.util.Timer`或者`java.time`包中的`TimerTask`和`Duration`类来实现计时器。 以下是一个简单的猜数字游戏Java代码示例,包含了计时器功能: ```java import java.util.Random; import java.util.Timer; import java.util.TimerTask; import java.time.Duration; public class GuessNumberGame { private int secretNumber; private int guess; private Timer timer; private long startTime; public void startGame() { // 生成随机数作为秘密数字 secretNumber = new Random().nextInt(100) + 1; System.out.println("欢迎来到猜数字游戏,你有60秒的时间猜测一个1到100之间的数字。"); // 初始化计时器 timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { if (guess < secretNumber) { System.out.println("太小了,你还有59秒(当前剩余时间)"); } else if (guess > secretNumber) { System.out.println("太大了,你还有59秒(当前剩余时间)"); } else { System.out.println("恭喜你,你猜对了!用时" + Duration.between(startTime, System.currentTimeMillis()).toSeconds() + "秒。"); endGame(); } } }, 0, 1000); // 每隔1秒检查一,总共60秒 startTime = System.currentTimeMillis(); // 记录开始时间 askForGuess(); } private void askForGuess() { try { guess = Integer.parseInt(System.console().readLine("请输入你的猜测: ")); } catch (Exception e) { System.out.println("输入无效,请输入一个整数。"); askForGuess(); } } private void endGame() { timer.cancel(); // 停止计时器 timer.purge(); // 清理已取消的任务 System.out.println("游戏结束,感谢参与!"); } public static void main(String[] args) { new GuessNumberGame().startGame(); } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值