java扫雷游戏课程设计报告带有详细注释.doc

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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()方法用来判断用户是否扫雷成功,如果成功该方法负责让

文档评论(0)

a13355589 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档