这篇“Java怎么实现QuickHit游戏”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java怎么实现QuickHit游戏”文章吧。 (1)QuickHit游戏考验学员键盘输入内容的速度和准确性。
(2)根据输入速率和正确性将玩家分为不同级别,级别越高,一次显示的字符数越多,玩家正确输入一次的得分也越高。
(3)如果玩家在规定的时间内完成规定次数的输入,正确率达到规定要求,则玩家升级(为了简单起见,规定用户只要输入错误一次,则游戏结束)
(4)玩家最高级别为6级,初始级别一律为一级。 完成“QuickHit”,对于开发环境的要求如下:
(1)开发工具:MyEclipse 10
(2)JDK1.7 (1)面向对象程序设计的思想
(2)使用类图理解类的关系
(3)类的封装
(4)构造方法的使用
(5)this和static关键字的使用1、先编写级别类Level:
(1)定义属性:
private int levelNo; // 级别号
private int strLength; // 各级别一次输出字符串的长度
private int strTimes; // 各级别输出字符串的次数
private int timeLimit; // 各级别闯关的时间限制
private int perScore; // 各级别成功输入一次字符串后增加的分值
(2)添加包含所有参数的有参构造方法(无参构造方法后面不需要使用,可以不添加)
(3)针对封装好的属性,添加getXxx()方法,不需要添加setXxx()方法(针对级别的属性是系统规定好的,不需要用户设置)
2、编写级别参数类LevelParam:
(1)此项目会涉及到6个级别(每个级别是一个对象),所以先创建一个长度为6,类型为Level的数组,这个数组可以声明为静态常量值
(2)使用有参构造方法创建6个Level类对象,并将这6个对象存储到第一步创建的数组中,可以将这个操作生命在静态代码块中
3、创建Play玩家类:
(1)定义属性:
private int levelNo; // 级别号
private int curScore; // 当前积分
private long startTime = 0; // 各级别开始时间
p免费云主机域名rivate int elapsedTime; // 各级别已用时间
(2)添加无参构造方法、有参构造方法、getXxx()/setXxx()方法
(3)定义玩家玩游戏的方法play():
功能:用户由默认0级升级到1级,开始玩游戏(调用Game类里的printStr()方法和printResult())4、创建游戏类Game:
(1)定义属性:
private Player player;// 玩家
(2)添加无参构造方法、有参构造方法
(3)定义方法printStr()
功能:根据用户级别输出指定长度的字符串(字符串的内容是随机产生的)
(4)定义方法printResult()
功能:判断用户输入的字符串与系统随机产生的字符串内容是否相同
1)如果用户输入的字符串与系统产生的字符串相同:
–》用户输入字符串的时间>对应级别需要的时间:超时,退出游戏系统
–》用户输入字符串的时间 计算用户完游戏的时间
用户玩游戏积累的积分
输出当前用户所处的级别,玩游戏时间、积累的积分
计算该游戏最后一个级别的总分并判断用户是否到达第六级别以及积累的积分是否等于最高级别的积分,如果满足,输出闯关成功
2)如果用户输入的字符串与系统产生的字符串相同:
直接退出游戏系统
5、定义测试类:
在main()方法中创建Play类对象,调用play()方法,开始游戏
1、初始属性:Level类(全部代码)2、初始类Level对象:LevelParam类(全部代码)3、系统类:Game(全部代码)4、玩家类:Player类(全部代码)5、测试类:GameTest类(全部代码)以上就是关于“Java怎么实现QuickHit游戏”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注百云主机行业资讯频道。
这篇文章主要介绍“Laravel9.37有哪些新功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Laravel9.37有哪些新功能”文章能帮助大家解决问题。 Verbose 视图缓存Andrew Brown 贡献了在…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。