900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > java打字游戏课程设计_java课程设计打字游戏

java打字游戏课程设计_java课程设计打字游戏

时间:2023-05-20 03:51:50

相关推荐

java打字游戏课程设计_java课程设计打字游戏

《java课程设计打字游戏》由会员分享,可在线阅读,更多相关《java课程设计打字游戏(32页珍藏版)》请在金锄头文库上搜索。

1、Java 课程设计 1各专业全套优秀毕业设计图纸各专业全套优秀毕业设计图纸中南大学Java 课程设计报告题 目 打字游戏 学生姓名 指导教师 学 院 信息科学与工程学院 专业班级 计科 1204 完成时间 年 1 月 15 日 Java 课程设计 2目录第一章 实验要求 .3第 2章 总体设计2.1 界面设计 .42.2 运行流程 .42.3 逻辑设计 .42.4 积分设计 .4第 3章 详细设计3.1 主面板 .53.1.1 两个按键 .53.1.2 相关全局变量 .53.1.3 全局变量说明 .53.1.4 相关全局函数 .73.2 字符下落模块 .73.2.1 WordLabe。

2、l .73.2.2 WordFallControl .83.2.3 WordFallLabel .83.3 速度控制模块 .83.4 按键模块设计 .83.5 键盘监听事件 .93.6 积分模块设计 .93.7 事件模块设计 .10第 4章 调试分析4.1 第一次调试 .114.2 第二次调试 .114.3 第三次调试 .12第 5章 运行结果 .13第 6章 课程设计总结 .17第 7章 参考文献 .19第 8章 附录:带注释的源代码8.1 Wordfall .208.1.1 WordFallControl类 .208.1.2 WordLabel类 .228.1.3 WordFallLabe。

3、l类 .238.2 ScoreLabel类 .248.3 StartButton类 .258.4 TimeLabel类 .268.5 AAAAA类:程序的主函数入口 .288.6 Maintain类 .30Java 课程设计 3第 1 章 实验要求【问题描述】设计实现一个打字游戏,界面参见图 2-2,具备如下功能: 点击“开始”按钮,产生随机字符从屏幕上方下落; 点击键盘上按钮,如果正确,当前的字符消失,产生新的按钮从上方继续落下。 提供速度调整和积分功能。图 2-2 打字游戏界面Java 课程设计 4第 2 章 总体设计2.1 界面设计根据实验要求中的图 2-2,在主面板中,1.1.1 有一。

4、个模块控制各个字符的生成并且控制他们的自动下落,并在正确触发时,字符不可见;1.1.2有一个模块用于设置下落速度;1.1.3有两个按键,分别为“开始”和“结束” ,用于字符下落的开始和结束;1.1.4整个面板处于键盘事件监听中,所以还有一个模块负责监听键盘事件;1.1.5相应的,根据要求,会有一个模块用于将键盘事件和下落的字符进行操作,并且计算出积分。2.2 运行流程1.2.1 程序启动,程序等待按键“开始”的事件的触发;1.2.2 当“开始”键触发后,负责字符下落的模块,将持续产生字符,并使其下落;1.2.3 键盘开始被监听,从键盘的按键触发,向程序返回值;1.2.3 积分模块开始工作,将字。

5、符下落模块的字符和键盘事件返回的值进行比较,得出积分,并且将积分值显示在面板上;1.2.4 如果点击“停止”按键,所有模块停止工作,等待程序关闭,或者等待“开始”按键事件的再次触发,从 1.2.1继续这一流程。2.3 逻辑设计1.3.1 字符不断产生并且下降,需要一个线程控制产生字符,然后还应该有一个线程对面一个字符,控制其下落。1.3.2 键盘被按下后,立刻会有值返回到程序中,积分模块会每隔一段时间将,键盘事件返回的值,和当前需要按下的值进行比较。2.4 积分说明当开始产生字符后,会有很多字符都是可输入的,但是当前可输入的字符只有一个,所以可以考虑设计一个链表,没当产生一个字符,便将该字符存。

6、入链表中,并且有一个指针永远指向当前需要输入的值。由于界面大小有限,当字符持续下落超过界面大小时,不能够通过玩家来猜测,已经不见的当前需要输入字符,所以当界面上字符超过十个时,便认为该玩家反应时间过长,判定其为错误,并且将当前需要输入的字符设置为下一个。并且从游戏角度考虑,当这种情况出现 3次后,Java 课程设计 5便可以判定本轮游戏结束。第 3 章 详细设计3.1 主面板public class GameFrame extends JFrame主面板中主要涉及的是两个按键,各个组件在面板上的布置,以及其他的全局变量的设置。3.1.1 两个按键 JButton btnStart = new 。

7、JButton()JButton btnStop= new JButton()ScoreLabel scoreLabelKeyEventPanel keyEventPanelWordFallLabel wordFallLabelJSlider slider3.1.2 相关的全局变量boolean START_FLAG = false;ArrayList CODE_LIST = new ArrayList();ArrayList wordLabels = new ArrayList();int CHAR_VALUE = 0;int KEY_VALUE = 0;int POINTER = 0;in。

8、t MAXFALSE = 3;int SUCCESSTIME = 0;int TRYTIME = 3;int SPEED = 1400;public static void init()CODE_LIST.clear(); wordLabels.clear();CHAR_VALUE = 0;KEY_VALUE = 0;POINTER = 0;MAXFALSE = 3;SUCCESSTIME = 0;TRYTIME = 3;Java 课程设计 63.1.3 全局变量说明:START_FLAG:由于在程序启动时,各个组件就已经开始工作,用 START_FLAG 使他们通过 if 语句,不做任何动作。

9、,当 START_FLAG = true 时,便可以开始进行游戏,避免了反复启动线程可能会造成意外情况的麻烦。CODE_LIST:在游戏线程启动后,会产生很多的字符,这些字符若存放在局部空间内,很有可能会出现其他组件需要调用该值并且需要通过一系列传值过程才能实现,将这些值放在一个公共空间内的列表中,虽然会出现安全上面的问题,但是无疑为程序的实现减少了很多的工作,宽且这也只是一个游戏,在安全上的问题可以忽略。wordLabels:这个全局变量的设置,主要是为了实现下落字符的消失。产生的字符会放在 label 中,通过控制 label 的行为来控制字符的行为。将每一个 WordLabel 实例放在。

10、该列表中,可以通过在其他空间的控制来实现自己的想法。CHAR_VALUE:里面存放的是产生的字符的值,每一个字符都可以通过 ASCII 码转变为一个整数类型的值,通过比较整数值来确定是否匹配。KEY_VALUE:存放了最近一次从键盘内获得的值,由于可能出现连续出现相同字符的情况,KEY_VALUE 里的值必须定时清空,考虑之后,与每次在每Java 课程设计 7次比较完之后进行清空操作比较合适。POINTER:在 CODE_LIST 中会有很多数,但是当前正确的值,只有一个,那就是 POINTER 指向的位置,通过判断 KEY_VALUE 和 CHAR_VALUE的值,对 POINTER 进行操作,具体操作会在 ScoreLabel 中说明。MAXFALSE, TRYTIME:最大失误次数,当超过这个次数时,当局游戏就会结束。SUCCESSTIME:本轮当前成功次数,统计成功次数用来积分。SPEED:控制字符下落速度,这个值会与难度条上的值具有映射关系。3.1.4 全局方法说明:public static void init();在新的一轮游戏开始前,全局变量中的值任然是上一轮的数据,需要对其中的数据进行初始化,设置为公共方法便于调用,其中的操作都是必须的操作,无多余也无漏缺。3.2 字符下落模块3.2.1 public class。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。