基于java的扫雷课程设计内容摘要:
表方块的周围的 8 个方块中共有多少颗雷。 (4) 如果用户认为某个方块下埋着雷,单击右键可以在方块上标识一个用户认为是雷的图标,即给出一个扫雷标记。 用户每标记出一个扫雷标记 (无论用户的标记是否正确 ),程序将显示的剩余雷数减少一个。 (5)当用户点中雷时,将有“你输了”的提示出现,胜利时,将有“你赢 了”的提示出现。 功能需求分析 本程序为 java 课程设计。 参考 Windows 自带的扫雷游戏做了简化。 用 java编写,采用了 Swing 界面。 实践了 java 课程多方面的内容。 本程序实现了主要游戏的主要方面,单游戏固定为 10 x 10 格,难度三级:12, 24, 36。 主要实现了如下算法:单击某行某列后产生不在单击处引爆的地图。 出现空格后引发递归的清空算法。 检测是否所有地雷都被标记,且没有多标的胜利检测算法。 控制一个计数器产生计时效果的计时器算法。 等侯用户单击返回的线程。 以及可区分用户鼠标左键,右 键和左右两键单击的事件处理方法。 程序设计主要考虑了程序的完整性和规范性。 界面符合 Windows 常规,主要通过菜单和按钮与用户交互。 所有菜单项都实现了响应功能。 且主界面多用图标示意,较美观。 第 6 页 第 三 章 游戏的 具体 分析 总体功能图 图 31 总体功能图 第 7 页 主要功能设计流程 总体流程图 图 321 总体流程图 开始 定义并初始化按钮,菜单等 事件处理 菜单 按钮 重新开始 方块 开局 初级 高级 中级 自定义 英雄榜 退出 展示相应效果 N 是否点中雷 结束 Y 算法课程设计 扫雷游戏 第三章 游戏的具体分析 第 8 页 雷区设计流程图 开 始开 始定 义 并 初 始 化M i n e G r i d 类获 取 相 应 的 设置 , 并 为 方 块 产生 随 机 数 字 赋 值计 数 器 数 小 于 等 级 雷 数存 放 赋 值 雷区 , 计 数 器 加 1鼠 标 是 否 点 击处 理 周 围 信 息 ,并 显 示 相 应 效 果YNYN 图 322 雷区设计流程图 算法课程设计 扫雷游戏 第三章 游戏的具体分析 第 9 页 排行榜设计流程图 开 始结 束读 取 游 戏 级 别以 及 记 录游 戏 是 否 完 成完 成 时 间 是 否 更 短更 新 原 始 记 录并 且 保 存YNNY 图 323 排行榜设计流程图 各个类的详细介绍与关键代码 类之间关系图 图 331 类之间关系图 算法课程设计 扫雷游戏 第三章 游戏的具体分析 第 10 页 MainFrame 类 MainFrame 主程序类是整个程序的入口,通过 package。 包将其放在 nicholas 的 game 下的 mine 子文件夹内,继承了 JFrame 并实现了ActionListener、实现了主 界面各控件的布局、 led 灯,时间计数器,级别,失败和成功,各种状态的初始化。 还实现了从 mine 文件里读取信息和保存信息并实现鼠标双击单击,双击,移动时发生的事件。 其关键性代码如下: private class StatusMouseAdapter extends MouseAdapter { private boolean mouseIn。 private boolean mouseDown。 private Icon icon。 public StatusMouseAdapter() { super()。 } public void mouseEntered(MouseEvent me) {//组件按下时 mouseIn = true。 if(mouseDown) { (())。 icon = ()。 (().getImageicon(18))。 } } public void mousePressed(MouseEvent me) {//组件释放时 mouseDown = true。 (())。 icon = ()。 (().getImageicon(18))。 } public void mouseReleased(MouseEvent me) { mouseDown = false。 (icon)。 (())。 if(mouseIn) restartGame()。 } public void mouseExited(MouseEvent me) { mouseIn = false。 if(mouseDown) { 第 11 页 (icon)。 (())。 } } } public void mouseEntered(MouseEvent me) {//鼠标按下 current = (MineGrid)()。 if(leftDownamp。 amp。 rightDown) { pressAround(current)。 } else if(leftDown) { pressGrid(current)。 } } public void mouseReleased(MouseEvent me) {//鼠标释放时 if(()) (().getImageicon(17)。基于java的扫雷课程设计
相关推荐
量及访问性质 Servlet 可以是其它服务的客户端程序,例如,它们可以用于分布式的应用系统中,可以从本地硬盘,或者通过网络从远端硬盘激活 Servlet 的作用。 Servlet 可被链接 (chain)。 一个 Servlet 可以调用另一个或一系列 Servlet,即成为它的客户端。 山东财经大学学士学位论文 3 采用 Servlet Tag 技术,可以在 JSP页面中动态调用
大降低了对客户浏览器的要求,即使客户浏览器端不支持 Java,也可以访问 JSP 网页。 JSP 全名为 Java Server Pages,其根本是一个简化的 Servlet设计,他实现了 Html语法中的 java 扩张(以 %, %形式)。 JSP 与 Servlet 一样,是在服务器端执行的。 通常返回给客户端的就是一个 HTML 文本,因此客户端只要有浏览器就能浏览。 Web
发现系统运行中可能出现的问题,并要有快速戒圈的方法。 市场可行性 市场可行性是针对本系统是否能在市场流通所做的分析。 汽车租赁系统主要针对的用户是租赁公司和租车客户,只要有租赁交易就可能需要本系统,而且本系统占用空间小,不会对租赁公司造成负担,租车客户也能很好的进行选车、租车交易,所以在市场上流通是可行的。 操作可行性 本系统虽然小,但能满足一般租赁方和租车客户的需求,界面简单明了
设计与实现 系统设计是经过系统分析,然后由抽象至具体的过程,本阶段的主要目标是把在分析阶段中的抽象概念化作能够实现,使之成为有具体功能的模块,提供支持给系统代码设计。 在系统设计的阶段种,应该尽可能全面的思考全系统的功能与需求,由于情况的不同,有时还要考虑到系统性能。 打砖块游戏的画面简单,功能也不怎么复杂,系统资源占用很少,所以,在这里不过于考虑性能需求,下面对游戏的详细设计过程做一个说明。
器下载原理图 Fig 21 Server Download principle 第二类 : P2P(Peer To Peer)下载 ; BT、 EMULE、 VAGAA 都属于此类 , 虽然协议不一样 , 但是下载方式都是根据文件信息 , 从互联网中寻找正在下载该文件的用户 , 并从他们那里下载。 当然软件会寻找用户 , 并从多个用户下载自己没有的部分 , 而将自己已下载的而别人没有的上传给别人
SQL 语句发送到相应的任何一种数据库。 Java 与 JDBC 的结合 , 使程序员可以只写一次数据库应用软件后 ,就能在各种数据库系统上运行。 由于 Java 语言具有健壮性、安全、易使用、易理解和自动下载到网络等优点 , 因此 , 它是数据库应用的一个极好的基础语言。 现在需要找到一种能使 Java 应用与各种不同数据库对话的方式 , 而 JDBC 正是实现这种对话的一种机制。 JDBC