- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《高级语言程序设计(2)》
课程设计任务书
题 目
扫雷游戏程序
学生姓名
王大伟
学号
201001010117
专业班级
计算1001
设
计
内
容
与
要
求
【问题描述】
整个扫雷游戏程序的整体布局为:CardLayout布局, 采用了菜单、按钮、面板……等组件,菜单主要包括开始,选择级别,按钮的功能是重新开始新的游戏。
【软件功能】
用户可以玩扫雷游戏并能自定义级别(初等,中等,高等)
具有计时功能,即显示用户完成移动盘子所花费的时间。
【基本要求】
1,扫雷游戏分为初级、中级和高级三个级别。单击游戏菜单可以选择“初级”、“中级”和“高级”。
2,选择级别后将出现相应级别的扫雷区域,这时用户使用鼠标左键单击‘“开始”便启动计时器。
3,用户要揭开某个方块,可左键单击它。若所揭方块下有雷,用户便输了这一局,若所揭方块下无雷,则显示一个数字,该数字代表方块的周围的8个方块中共有多少颗雷。
4,如果用户认为某个方块下埋着雷,单击右键可以在方块上标识一个用户认为是雷的图标,即给出一个扫雷标记。用户每标记出一个扫雷标记(无论用户的标记是否正确),程序将显示的剩余雷数减少一个。
5,当用户点中雷时,将有“你输了”的提示出现,胜利时,将有“你赢了”的提示出现。
6,源程序中要有充分的注释,报告中要有详细的流程图和文字材料。
7,运行的结果以及图形用户界面要进行屏幕拷贝,插入报告中。
【提交成果】
1“《高级语言程序设计(2)》课程设计任务书”和“《高级语言程序设计(2)》课程设计报告”打印件各一份;
2 先将上面两项内容的word文档,通过电子邮件交到指导教师,待许可后,打印装袋。
起止时间
指导教师签名
系(教研室)主任签名
学生签名
任务书限定一页
附:课程设计报告格式
《高级语言程序设计(2)》课程设计报告
专业 班级 学号 姓名(签名) 完成日期 指导教师(签名)
程序设计说明书
【设计题目】 扫雷游戏程序
【问题描述】 整个扫雷游戏程序的整体布局为:CardLayout布局, 采用了菜单、按钮、面板……等组件,菜单主要包括开始,选择级别,按钮的功能是重新开始新的游戏。
【软件功能】 用户可以玩扫雷游戏并能自定义级别(初等,中等,高等);
具有计时功能,即显示用户完成移动盘子所花费的时间。
【算法思想】 1,计算按钮周围雷数。2,随机分布。扫雷游戏要求在M行N列的网格游戏区随即的不上bon个雷,且bon的取值应小于M和N的乘积。这可以在一张M*N的网格上通过均匀分布的随即算法视线。其中bon的网格是雷区,剩下的网格是非雷区。游戏的目标是尽可能快地找到所有的雷区,而不踩到地雷。Java提供了视线随即算法的类Math,通过Math类的random()方法这可以很方便的实现随即布雷的功能。
【类的设计】
(1)initMineArea(int,int,int,int)方法可根据参数提供的数据设置雷区的宽度、高度以及雷区的级别。
(2)actionPerformed(ActionEvent)是MineArea类实现的ActionListener接口中的方法。当用户单击blockView中的某个方块时,actionPerformed(ActionEvent)方法负责执行有关算法,例如,当用鼠标左键单击方块上的按钮后,若该方块下有雷,actionPerformed(ActionEvent)方法将使用户输掉本局,若该方块下无雷,actionPerformed(ActionEvent)方法将显示blockView对象中的标签,该标签上是一个数字,该数字代表当前方块的周围的8个方块中共有多少颗雷。
(3)show()方法是一个递归方法。actionPerformed(ActionEvent)方法执行时将调用show方法进行扫雷。
(4)mousePressed(MouseEvent)方法是MineArea类实现的MouseListener接口中的方法,当用户按下鼠标有件事mousePressed(MouseEvent)方法负责让方块上显示一个探雷标记。
(5)inquireWin()方法用来判断用户是否扫雷成功,如果成功该方法负责让record对话框可见。所谓扫雷成功是指不仅找到了全部的累而且用时最少。
【用户界面】
【程序技巧】
运用二维数组来判断雷区的每一个按钮是否有雷。当单击blockView中的某个方块时,actionPerformed(ActionEvent)方法负责执行有关算法。当按下鼠标有件事mousePressed(MouseEvent)方法负责让方块上显示一个探雷标记。inquireWin()方法用来判断用户是否扫雷成功,如果成功该方法负责让
您可能关注的文档
最近下载
- 海南省海口市(新版)2024小学语文人教版小升初真题(巩固卷)完整试卷(含答案).docx VIP
- 标准图集-浙S3-93 钢筋混凝土屋顶水箱.pdf VIP
- 洪老师-中考押题万能作文素材.pdf VIP
- 深圳市锂电池企业安全生产检查表.pdf VIP
- 定密责任人培训班试题及完整答案【各地真题】.docx VIP
- 2024届澄迈县六年级下学期小升初数学试卷含解析.doc VIP
- 高级眼镜定配工理论试题和答案.pdf VIP
- 《风景园林遗产保护与管理》课程教学大纲.pdf
- 罗译思上海俄语培训学习分享俄语书籍《茶经》俄语版.pdf VIP
- 山东省济南市历城区2023-2024学年四年级下学期期末语文试题(含答案).pdf VIP
文档评论(0)