下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计报告(20162017学年第二学期)课程名称Java课程设计报告学生姓名张晓甘班级2015240701学号201524070134指导教师康军完成日期2017.6.23欢迎下载目录一、设计目的和要求11.1课程设计目的11.2课程设计内容和要求1二、系统需求分析22.1系统目标22.2游戏需求22.3开发环境2三、系统整体设计33.1系统的功能模块分类33.2系统流程图图4四、系统详细设计54.1具体设计步骤如下: 54.2接口设计54.3实现重要功能6五、代码调试11六、总结14参考文献15七、附录15一、设计目的和要求1.1课程设计目的通过本游戏的设计,综合自己在校期间学到的理论知
2、识,设计开发24点的游戏,让自己熟悉应用系统的开发过程,进一步理解面向对象程序设计的思想和方法,利用Java语言培养进行程序设计的能力,培养自主思考能力, 验证学习效果和本领能力,初步掌握基础编程知识,培训发现问题、分析问题、解决问题的能力。 达到理论和实践相结合的目的。加深对Java语言与面向对象技术课程基础知识的理解,掌握Java语言面向对象编程的开发方法和程序。1.2课程的设计内容和要求24点游戏是使用扑克进行的智力游戏,从扑克的4个花色的1k等52张卡片中任意抽出4张卡片,使用加法、减法、乘法、除法、括弧等运算符计算卡片面上的数量得到24。 游戏有版本,但实际上对j、q、k的处理不同。
3、 有些版本删除了j、q、k,仅在1到10之间进行游戏的j、q、k为10,版本用j表示11,用q表示12,用k表示13。 本次的课程设计为j为11,q为12,k为13,游戏的4张卡在1K的13张卡中随机取卡。 具体功能如下:游戏设计有初级、中级和高级三大难易度。 每次开始游戏时,都可以根据玩家的需要设定难易度。 如果不设定,系统的默认难易度等级是初级,可以在设定难易度等级后开始游戏。 点击“发行卡”按钮,桌子上出现4张扑克牌,同时游戏开始,时间轴前进。在规定的时间内,玩家可以在“输入结果”的编辑框中输入自己想的公式,点击“管理”按钮。 如果输入的公式运算结果的答案正确,就会显示“恭喜你回答正确”
4、窗口。如果输入的数字与给定卡片上的数字不匹配,或者符号不合法,就会显示“对不起,答案错了”窗口。 中选择所需的墙类型。程序中可以记录游戏的履历。如果在规定的时间内玩家不点击管理按钮,就会显示“对不起,失败了”的窗口。结束本回合游戏后,如果玩家想继续游戏,可以单击“发行卡”按钮重新发行卡,开始下一回合的游戏。如果玩家想结束游戏,可以单击“结束”按钮结束游戏二、系统需求分析2.1系统目标利用学到的知识制作基于java的24点游戏。2.2游戏需求游戏界面需求:设计好的游戏界面能充分感受游戏带来的娱乐性,游戏的背景色为绿色,尽可能减少玩家玩游戏时的眼睛疲劳,最大化的是让玩家舒适的娱乐游戏形状的需要:根
5、据数字的颜色显示不同的卡片。鼠标处理事件的需要:通过单击菜单栏上对应的菜单项,可以实现游戏的开始、结束、数字管理和其他游戏选择等功能。2.3开发环境MyEclipse,窗生成器三、系统整体设计3.1系统的功能模块区分图1系统功能图欢迎下载3.2系统流程图将历史记录保存在数据库中并显示在表格中ynnynyyn设定难易度吗?1 .低级2 .中级者3 .高级系统的默认难易度为中级初始化出卡时间开始了输入公式进行计算比较函数值和参数值的大小“错误! 中选择不同类型的柱计算函数判断计算结果是否为24超时显示:“超时”输入字符错误:“错误! 中选择不同类型的柱计算结果正确:“正确! ”“好的。”运算结果错
6、误:“错误! 中选择另一种天花板类型。继续吗?结束。开始。图2系统流程图四、系统的详细设计4.1具体设计步骤如下1 )在对话框中添加4个图像(分别用于4张扑克)、3个按钮(分别用于卡片、运算、结束)、1个编辑框、1个进度条、1个下拉框(用于选择难易度等级),根据属性在上述添加的控制器然后打开图像并更改名称。2 )将实现各模块功能所需的各种函数按照流程图追加到类的原始文件中,追加对应的源代码,并且在头文件中追加各种函数和变量的宣言。3 )保存编译后的程序,开始调试,在调试的同时根据错误修正原程序,直到程序没有变成错误。4.2接口设计表1控件类型、ID和相关说明对象,对象变量名称Caption或说
7、明静态文本Label花费时间的标志静态文本标签- 1最初的图静态文本标签- 2图2静态文本标签- 3图3静态文本标签- 4图4静态文本lblNewLabel输入公式静态文本lblNewLabel-1历史记录静态文本标签- 5选择难易度下拉式方块comboBox选择难易度表表格历史记录编辑框textField输入计算。滚动条进度栏,进度栏需要时间按钮,然后单击btnNewButton出卡按钮,然后单击Button进行核对按钮,然后单击Button-1结束。4.3重要功能的实现(1)卡发行功能的实现首先,numberI=rand ()。 生成0-9的随机数,使用该函数加载了10张标签110的卡和1
8、张背景卡。 并且,执行中的下一代码能得到四张被扩展到图像框中的卡。 代码如下所示:Randomrandom=newRandom ();r1=random.nextInt(10) 1;(2)计时功能的实现首先,定义线程类,并每隔不同的时间发送消息,由此控制三个阶段的时间差异。 在时间限制,时间超过代表游戏的结束的情况下,用户没有考虑的时间,本轮游戏结束。 源代码如下classsmythreadextenstread;布尔锁定=真;JProgressBarprogressBar;JLabellabel_1;JLabellabel_2;JLabellabel_3;JLabellabel_4;JTex
9、tFieldtextFieldJButtonbutton;intdifficulty=0;我的标签(jprogressbarprogressbar,jlabel标签_ 1,jlabel标签_ 2,jlabel标签_ 3,jlabel标签_ 4,JTextFieldtextField,int gressBar=progressBar;this.label_1=label_1;this.label_2=label_2;this.label_3=label_3;this.label_4=label_4;this.textField=textField;this.difficul
10、ty=difficulty;this.button=button;以下公共语音vun (); 请参见。/TODOAuto-generatedmethodstubfor(inti=0; I=60-20 *差异; 表示I )tryif (lock=true ) 222222222222222222222this.sleep(1000 )progress bar.setvalue (I * (difficulty1) );以下 catch (interruptedexceptione ) /TODOAuto-generatedcatchblock锁定=假;以下以下if (lock=true ) 22
11、2222222222222222222jooptionpane.show message dialog (空,对不起,没有时间, message , JOptionPane.WARNING_MESSAGE );label _1. seticon (新图像icon (c : users ZCS workspace myeclipse 2016 ci puke image1. jpg );label _2. seticon (新图像icon (c : users ZCS workspace myeclipse 2016 ci puke image2. jpg );label _3. seticon
12、 (新图像icon (c : users ZCS workspace myeclipse 2016 ci puke image1. jpg );label _4. seticon (新图像icon (c : users ZCS workspace myeclipse 2016 ci puke image2. jpg);progressBar.setValue(0)textField.setText ( );textField.setEnabled(false )button.setEnabled(false )textfield.settext (空)以下以下以下(3)管理功能的实现只简单介绍
13、实现弹出块的功能完成。 玩家在规定的时间内输入公式进行管理,根据情况会显示不同的对话框。 如果:玩家输入的数字与扑克的数字不匹配,将显示“对不起,错了”的信息。 如果玩家输入公式计算出的答案正确,就会显示“恭喜你答对了”的提示对话框。 具体的代码如下所示button.addmouselisttener (newmouseadapter (); 请参见。Override请参见publicvoidmouseliced (mouse event e )。strings=textfield.gettext ().tostring ();PS (PS )=24kuo hoo (s )=1shuzi (s
14、 )=1)jooptionpane.show消息诊断程序(空,恭喜。 正确回答了问题, message ,JOptionPane.PLAIN_MESSAGE;current time=system.current time mills ();if (time current time-first time| time=0)time=(int ) (current time-first time )以下correct;textField.setText ( );label _1. seticon (新图像icon (c : users ZCS workspace myeclipse 2016 c
15、i puke image1. jpg );标签_2. seticon (新图像icon (c : users ZCS workspace myeclipse 2016 ci puke image2. jpg );label _3. seticon (新图像icon (c : users ZCS workspace myeclipse 2016 ci puke image1. jpg );label _4. seticon (新图像icon ( c : users ZCS workspace myeclipse 2016 ci puke image2. jpg );errup
16、t ();progressBar.setValue(0)textField.setEnabled(false )button.setEnabled(false )elsejooptionpane.show消息诊断(空,“对不起,错了”,“消息”,“JOptionPane.PLAIN_MESSAGE );textField.setText ( );label _1. seticon (新图像icon (c : users ZCS workspace myeclipse 2016 ci puke image1. jpg );标签_2. seticon (新图像icon (c : users ZCS workspace myeclipse 2016 ci puke image2. jpg);标签_3. seticon
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年学前儿童记忆力训练测试卷
- 2026届安徽省合肥市省级示范高中高三下学期五月联考历史试题(含答案)
- 2025年无锡市宜兴市卫生健康系统招聘农村订单定向医学生专项招聘考试试卷真题
- 入院病人教育相关试题及答案解析
- 现代农业技术发展与应用科普试题
- 供应链管理原理与实务考试及答案
- 2026年衡水之中语文考试试题及答案
- 行政人事安全考试试题及答案
- 2027届福建省永泰县化学九上期末考试模拟试题含解析
- 2026事业单位工勤技能-山东-山东水工监测工三级(高级工)历年参考题库含答案详解3套试卷
- 2026年农业保险测试题库及答案
- 2026内蒙古恒正实业集团招聘65人笔试历年难易错考点试卷带答案解析
- 2025至2030中国美容仪行业现状及未来发展前景预测报告
- 项目验收不合格整改预案
- 新专业申报相关调研问卷
- 道路运输和交通设施企业安全风险分级管控和隐患排查治理双重预防机制建设指南
- 2026届广西壮族自治区桂林市十二县高三年级上册12月月考历史试题(含答案)
- 关于某某企业级固态硬盘采购与质保合同
- 2026年河北省机关事业单位技术工人图书仓储员考试选择题
- 2025年陶瓷地砖行业技术专利分析报告
- 树立消防员正确的消费观
评论
0/150
提交评论