QuickHit游戏项目

1.描述这是个什么项目

1.打字通关游戏

2.考验键盘输入内容的速度和正确率

3.根据速度和正确率将玩家分为不同级别,级别越高,显示的字符数量越多,玩家输入正确的得分也越高

4.在规定时间内完成规定次数输入,且不做错,则升级,最高级别为6级

2.功能模块有哪些

主要功能分析

1.游戏输入字符串,主要步骤是生成固定但内容随机的字符串,同时向控制台输出生成的字符串并返回此字符串(必须返回,用于和玩家输入比较)。

2.确认输入并输出结果:根据玩家输入是否如正确输出不同结果。当输入正确并且未超时,要输出玩家的当前级别、当前积分和已用时间。如何计算玩家的当前级别、当前积分和已用时间是关键。

3.玩家玩游戏:游戏的6个级别可以通过循环实现,而每个级别中的多次字符串输出通过内部子循环实现,该控制功能放在Player类的play()方法中,每次玩家晋级后积分清零、计时清零。

页面分析

1.级别类(游戏关卡)

定义属性并使用封装、无参构造、有参构造

代码体现:

 2.规则类(游戏规则)

使用数组,定义常量 --- 制定6个关卡中每个关卡的游戏规则

使用static{ },代表静态(只加载一次,独一份)

代码体现:

3.游戏玩家类

定义属性并使用封装、无参构造、有参构造

定义play()方法

创建game对象,this指当前玩家

使用for循环遍历,每过一关级别+1,计时清零,积分清零

嵌套for循环,输出字符串,输入字符串

代码体现:

 4.游戏类

将Player对象作为调用的属性并封装、无参构造、有参构造

(1)游戏输出的字符串

获取用户当前级别对应的字符串长度(角标从0开始,所以要减1)

创建一个可以编译的字符串对象StringBuffer(控制显示出来的字符串)

创建一个随机对象random(生成随机数)

使用for循环输出要输出的字符串,产生随机数并拼接字符串

输出字符串,将StringBuffer类型的变量转变为String类型的变量(对象)--- toString

(2)游戏比对方法(输出的和输入的)

使用if比对输出的字符串和输入的字符串是否一致

使用if判断输入正确或者错误,正确继续游戏,错误直接退出

输入正确时,获取当前时间,定义一个long类型的currentTime变量(代表当前时间)

如果超时则退出,如果没有超时则计算分数、时间,并输出积分级别、时间

使用if判断用户是否闯过第6关,如果玩家达到最高分,则闯关成功

System.exit(0);退出虚拟机

代码体现:

 5.测试类

使用main函数

实例化一个player对象,并调用Player类中的play方法

代码体现:

 3.技术有哪些

1.面对对象的思想

2.类的封装(set、get方法)

3.无参、有参构造

4.构造方法的使用

5.this和static关键字的使用

6.对象的实例化

7.调用对象属性、方法

8.数组

9.for循环

10.if判断

11.switch语句

12.StringBuffer类

4.业务/技术心得

新知识:StringBuffer可编辑字符串、Random对象的.nextInt()方法、System. currentTimeMillis()获取当前时间距1970.01.01的毫秒数。

心得:除了新学的知识之外,刚学完面向对象的所有章程对于有的业务还不是很熟练,在老师的带领下真切的感受到了在编程过程中面向对象的思想和应用,使用这些方法和属性时期更加符合现实世界的思维,虽然代码不多,但是业务的思维逻辑可以清晰的在代码中展现出来。

还是跟上一个项目一样的体会,写一个项目先分析并理清思路,拉框架,并反复推敲,出现问题时使用debug调试,就能写出更好的更优的项目啦!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值