JAVA课程设计:猜数游戏

实现功能:

功能要求:

        1、计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到

        2、给出所用时间和评语。

        3、保留用户测试成绩,做出成绩排行榜,排行榜存放到文件中。

所有类:

        主类

        cat类:产生随机数

        Judge类:给出所用时间和评语

        wind类:加载图形界面,并对用户的操作做出响应

        rank类:保留用户测试成绩、做出排行榜并保存到文件中

实现 wind类

功能:加载图形界面,并对用户操作做出相应

方法:

1、create()

1·加载主窗口,设定主窗口的属性;

20210624123044499.png

设定排行榜窗口的属性:

20210624123044497.png

2·添加窗口组件、Jpanel,美化布局;

对于文本框组件,添加以下代码使得其只支持输入数字:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xhb2RyaXZlcg==,size_16,color_FFFFFF,t_70

 

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xhb2RyaXZlcg==,size_16,color_FFFFFF,t_70

3·值得注意的是,组件设置可见时必须要在添加入窗口之后,设置窗口可见之前。否则会出现窗口加载出来后组件不可见,必须改变窗口大小才可见的情况。

20210624123044478.png

4·创建cat对象

20210624123044454.png

5·分别设置按钮对于鼠标单击的响应

1·排行榜 按钮:点击后,打开排行榜窗口;

打开排行榜文件,导入排行榜数据并显示在窗口中:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xhb2RyaXZlcg==,size_16,color_FFFFFF,t_70

2·确认 按钮:点击后,判段是否正确;错误,弹出信息;正确,弹出信息,给出评价,并将用时计入排行榜;

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xhb2RyaXZlcg==,size_16,color_FFFFFF,t_70

3·退出 按钮:点击后,关闭窗口;

20210624123151318.png

 

效果:

20210624123044431.png

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xhb2RyaXZlcg==,size_16,color_FFFFFF,t_70

 

20210624123044455.png

 

 

 

20210624123044431.png

 

 

20210624123044475.png

实现Cat()类

功能:产生随机数,猜中即胜,猜不中,提示大了小了,继续猜,直到猜中

方法:

1、产生随机数

1·第一次调用:

使用randon()类生成随机数,randon位于java.util包中,引入该包。

2021062412332822.png

使用randon()下的nextInt()方法生成一个在Int范围内的整数。

2021062412332825.png

但在实际测试过程中发现,产生的数过大或者过小,查询资料发现:可以为nextInt提供参数,限制产生的随机数的范围(0-1000)。

2021062412332827.png

 

开始计时

2021062412332826.png

2·第二次调用

结束计时,返回时间;

2021062412332831.png

2、主体(程序运行后调用该主体)

猜中返回1,猜小返回0,猜大返回2

2021062412332830.png

rank类

 1·right方法:

使用输入流,读取排行榜文件,并将本次用时和排行榜中的排名进行对比。使用两个字符串,一个储存当前数据排名前面的排名数据,一个储存之后的。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xhb2RyaXZlcg==,size_16,color_FFFFFF,t_70

使用输出流将两个字符串,和当前数据覆盖排行榜文件。

20210624123422876.png

git地址:https://gitee.com/kuaizi/j1.git

 

 

  • 5
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
以下是Java程序设计课程设计猜数游戏的介绍: 1. 项目名称:猜数游戏设计 2. 类的结构分布:请参考图1中的类的分布 3. 概要设计: 在设计标准考试设计时,编写了2个Java源文件:GuessShu.java,Dengru.java游戏分为以下几个模块: - 随机数的获取模块 - 输入输出模块 - 判断模块 - 自动计数模块 具体实现细节如下: - 随机数的获取模块:使用Java中的Random类生成随机数。 - 输入输出模块:使用Java中的Scanner类获取用户输入,并使用System.out.println()方法输出结果。 - 判断模块:使用if语句判断用户输入的数与随机数的大小关系。 - 自动计数模块:使用Java中的变量记录用户猜测的次数。 以下是GuessShu.java的代码实现: ```java import java.util.Random; import java.util.Scanner; public class GuessShu { public static void main(String[] args) { Random random = new Random(); int num = random.nextInt(100) + 1; int guessNum = 0; Scanner scanner = new Scanner(System.in); System.out.println("猜数游戏开始!"); while (true) { System.out.print("请输入一个1-100之间的整数:"); int guess = scanner.nextInt(); guessNum++; if (guess > num) { System.out.println("猜大了!"); } else if (guess < num) { System.out.println("猜小了!"); } else { System.out.println("恭喜你,猜对了!"); System.out.println("你一共猜了" + guessNum + "次。"); break; } } } } ``` 以下是Dengru.java的代码实现: ```java import java.util.Scanner; public class Dengru { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入用户名:"); String username = scanner.nextLine(); System.out.print("请输入密码:"); String password = scanner.nextLine(); if ("admin".equals(username) && "123456".equals(password)) { System.out.println("登录成功!"); } else { System.out.println("用户名或密码错误!"); } } } ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值