目录
摘 要 1
Abstract 2
目录 2

  1. 绪论 1
    1.1. 课题背景 1
    1.2. Java游戏开发的现状 1
    1.2.1. Java日益趋向成熟 1
    1.2.2. Java极大的方便了游戏脚本的使用 2
    1.2.3. Java平台无关特性 2
    1.2.4. Java在手机游戏开发方面的优势 2
    1.2.5. Java在网络方面的良好表现 2
    1.2.6. 游戏速度 3
    1.3. 项目开发的目标 3
    1.4. 项目开发的意义 3
    1.5. 本文章节安排 4
    1.6. 本章小结 4
  2. 开发环境和相关技术简介 5
    2.1. 开发环境 5
    2.1.1. Eclipse 5
    Java 6
    2.1.2. 6
    2.2. 相关技术简介 7
    2.2.1. Eclipse的图形界面开发 8
    2.2.2. Java技术在游戏开发中的应用 8
    2.3. 本章小结 12
  3. 需求分析 13
    3.1. 可行性分析 13
    3.1.1. 技术可行性 13
    3.1.2. 经济可行性 13
    3.1.3. 社会可行性 14
    3.1.4. 操作可行性 14
    3.2. 连连看游戏需求描述及规则描述 14
    3.3. 系统需求分析 14
    3.3.1. 业务需求 15
    3.3.2. 用户需求 15
    3.3.3. 功能需求 16
    3.3.4. 非功能需求 17
    3.4. 本章小结 18
  4. 概要设计 19
    4.1. 模块设计 19
    4.1.1. 连连看系统总体结构 19
    4.1.2. 连连看系统模各模块介绍 19
    4.1.3. 游戏界面模块 20
    4.1.4. 处理模块 20
    4.2. 确定类 20
    4.3. 游戏素材 22
    4.3.1. 背景图片 22
    4.3.2. 游戏图片 22
    4.4. 本章小结 23
  5. 详细设计和实现 24
    5.1. 界面设计 24
    5.1.1. 界面实现 24
    5.1.2. 倒计时沙漏的设计 26
    5.2. 游戏执行的实现 28
    5.2.1. 点击图片的实现及其部分代码 29
    5.2.2. 记分、记关数的实现 30
    5.2.3. 刷新功能的实现 30
    5.2.4. 重新开始游戏功能的实现 32
    5.3. 游戏的连接算法 32
    5.3.1. 连连看连接方式的类型 32
    5.3.2. 连连看连接方式的分析 33
    5.3.3. 部分核心代码 35
    5.4. 本章小结 36
  6. 系统测试 37
    6.1. 软件测试目的及意义 37
    6.1.1. 测试目的 37
    6.1.2. 测试意义 38
    6.2. 测试方法分类 38
    6.3. 测试步骤 39
    6.4. 测试用例 40
    6.5. 测试结果 45
    6.6. 本章小结 45
    结 论 46
    致 谢 47
    参考文献 48
    3.2.  连连看游戏需求描述及规则描述
    游戏规则是模仿网络上普通的连连看游戏,即解决鼠标两次点击的图片能否消去的问题。当然,前提是点击两张相同的图片,若点击的是同一张图片或者两张不同的图片,则不予以处理。在两张相同图片所能连通的所有路径中,如果存在一条转弯点不多于两个的路径,就可以消去;如果没有,则不予以处理。
    开始制作游戏时,主要需要解决的问题有以下几个方面:第一,如何设置整个游戏的界面。第二,如何控制连连看游戏中随机图片的生成且每种图片生成个数必须为偶数。第三,游戏开始后,需要判断鼠标两次点击的图片能否消去,即判断图片是否相同且片之间路径是否满足判断要求等。第四,如何实现游戏计时功能、刷新功能、重新开始新一局游戏功能。第五,相关游戏情况展示。
    游戏往往会涉及游戏胜利或失败条件。对于连连看游戏来说,胜利条件是在规定时间内将游戏界面上所有图片全部依照一定规则消除掉。失败条件则相反,指未能或无法在规定时间内将棋盘上面的图片全部消除掉。
    3.3.  系统需求分析
    软件需求分为四个层次,分别是:业务需求、用户需求、功能需求和非功能需求。  
    业务需求主要反映了组织结构或客户对系统、产品高层次的目标要求,通常在项目定义与范围文档中予以说明;用户需求描述了用户使用产品必须要完成的任务,这在实例或方案脚本中予以说明;功能需求定义了开发人员必须实现的软件功能,使用户利用系统能够完成他们的任务,从而满足业务需求;非功能性的需求描述了系统展现给用户的行为和执行的操作等,它包括产品必须遵从的标准、规范和约束,操作界面的具体细节和构造上的限制。
    3.3.1.  业务需求
    业务需求针对的是项目组或者公司,描述是公司想如何解决用户的问题,如何满足用户的欲望,并将利益最大化。
    本项目课题是连连看游戏的设计与实现,在业务需求方面,第一,具备连连看基本游戏功能。选择两个图形,判断是否满足一定条件,条件即两个图形一致且二者之间存在转弯少于3的路径。当判定满足这一条件后,两张图片被消除。第二,具备附加功能:计时功能、重新开始功能、刷新当前界面功能等。
    3.3.2.  用户需求
    本项目面向的用户是游戏玩家,对于用户而言,需求有两个方面,一方面,要求游戏界面整齐美观,长时间使用也应尽可能的减小对游戏的审美疲劳。另一方面,要求游戏体验良好。在运行游戏的过程中,能保证数据安全,游戏能稳定、高速地运行。对于游戏本身,用户往往要求游戏功能相对完善,游戏具备可娱乐性,本文转载自http://www.biyezuopin.vip/onews.asp?id=11217并且游戏规则易理解,游戏操作既要简单同时也应有难度,在保证游戏操作顺滑、响应快速的情况下,游戏能具有一定的挑战性。
    通过用例图能更清晰的分析用户需求,如图3-1连连看游戏的用例图。用户在连连看游戏中,能开始游戏、重新开始游戏、重排列游戏、结束游戏、退出游戏、消除图片、查看得分和闯关数等。
5.3.3.部分核心代码
// 判断在一列之内两图片之间是否全部是空白或直接相邻
// 直接相连,因而不包含空白if (Math.abs(posY1 - posY2) == 0) {return true;}int a = posY1 < posY2 ? posY1 : posY2;int b = posY1 < posY2 ? posY2 : posY1;for (int j = a + 1; j < b; j++) {if (map[posX1][j] != 0) {return false;}}
// 是否可以一直线相连
if (posX1 != posX2 && posY1 != posY2) {return false;}if (posX1 == posX2) {if (containsAllOrNoneZeroInColumn(posX1, posY1, posX2, posY2)) {return true;}}if (posY1 == posY2) {if (containsAllOrNoneZeroInRow(posX1, posY1, posX2, posY2)) {return true;}}
// 是否可以三直线相连,似之字形Nif (isOnZigzagWith1Row2Cols(posX1, posY1, posX2, posY2)) {return true;}if (isOnZigzagWith2Rows1Col(posX1, posY1, posX2, posY2)) {return true;}
// 是否处于游戏区域的4条边的同一边上if ((posY1 == posY2 && posY2 == 0)
|| (posY1 == posY2 && posY2 == 8 - 1)|| (posX1 == posX2 && posX2 == 0)|| (posX1 == posX2 && posX2 == 8 - 1)) {return true;}
// 是否可以三直线相连,似之字形, 两行一列 Zint moreX = posX1 < posX2 ? posX2 : posX1;int lessX = posX1 < posX2 ? posX1 : posX2;for (int i = lessX + 1; i < moreX; i++) {if (containsAllOrNoneZeroInColumn(i, posY1, i, posY2)&& containsAllOrNoneZeroInRow(i, posY1, posX1, posY1)&& containsAllOrNoneZeroInRow(i, posY2, posX2, posY2)&& map[i][posY1] == 0 && map[i][posY2] == 0) {return true;}















基于JavaSwing的连连看游戏的设计与实现相关推荐

  1. 基于JavaSwing开发连连看游戏(单机版) 课程设计 大作业源码 毕业设计

    基于JavaSwing开发连连看游戏(单机版):   (大作业) 开发环境: Windows操作系统 开发工具: MyEclipse/Eclipse+Jdk 运行效果图:  基于JavaSwing开发 ...

  2. java设计连连看心得_基于Java的连连看游戏的设计与实现

    ComputerKnowledgeand Technology 电脑知识与技术 软件设计开发本栏目责任编辑:谢媛媛 第7卷第35期 (2011年12月) 9 基于Java的连连看游戏的设计与实现 陈珊 ...

  3. 果蔬连连看java源代码_《基于Qt的连连看游戏的设计》-毕业论文.doc

    PAGE 精品 摘 要 在现今电子信息高速发展的时代,电子游戏已然成为大众最受欢迎的娱乐消遣方式,经典的连连看是个老少皆宜的小游戏,它实现由各式各样的成对图片组成,然后存储在一个二维的数组中,计算机随 ...

  4. 基于JavaSwing坦克大战游戏的设计和实现

     还记得传说中的经典90坦克大战吗?那些怀旧的记忆,伴随着我们一起走过来的经典坦克大战,刚开始那战战兢兢,屡屡被敌人坦克击毁的情景历历在目.现在好了,再也不用担心敌人坦克了,可以横冲直撞,横扫敌人坦克 ...

  5. 基于java的连连看游戏系统设计与实现(项目报告+答辩PPT+源代码+数据库+截图+部署视频)

    项目说明报告 基于Java的连连看游戏设计与实现 连连看是一种消除类益智游戏,核心要求是在规定的时间内,消除游戏界面中选中的两张相同的图案,直至完全消除所有图案.这款游戏操作简单(只需单击鼠标左键操作 ...

  6. [计算机毕设]基于java的连连看游戏系统设计与实现(项目报告+答辩PPT+源代码+数据库)

    项目说明报告 基于Java的连连看游戏设计与实现 连连看是一种消除类益智游戏,核心要求是在规定的时间内,消除游戏界面中选中的两张相同的图案,直至完全消除所有图案.这款游戏操作简单(只需单击鼠标左键操作 ...

  7. c语言五子棋开题报告,基于VC的五子棋游戏的设计与实现(附答辩记录)

    基于VC的五子棋游戏的设计与实现(附答辩记录)(包含选题审批表,任务书,开题报告,中期检查报告,毕业论文12300字,程序) 摘 要:以计算机技术和网络技术为核心的现代网络技术已在现实生活和生产中得以 ...

  8. 基于cocos2d-x引擎的游戏框架设计【转载】

    http://www.cnblogs.com/lancidie/archive/2013/03/18/2965564.html 基于cocos2d-x引擎的游戏框架设计 移动互联网浪潮正在彻底改变人们 ...

  9. 推箱子游戏java毕业答辩ppt_基于Java推箱子游戏的设计与实现

    基于Java推箱子游戏的设计与实现(任务书,外文翻译,毕业论文20000字,程序代码,答辩PPT) 摘    要 社会在进步,人们生活质量也在日益提高.高强度的压力也接踵而来.社会中急需出现新的有效方 ...

最新文章

  1. linux版视频转换软件,居家旅行必备的Linux视频转换工具
  2. RDIFramework.NET ━ .NET快速信息化系统开发框架-4.3 平台主界面
  3. 局域主机做服务器,安装DNN,外网访问的解决办法
  4. 蓝桥杯试题 算法提高 数组求和
  5. 信息学奥赛一本通 1942:【08NOIP普及组】ISBN号码 | OpenJudge NOI 1.7 29:ISBN号码 | 洛谷 P1055 [NOIP2008 普及组] ISBN 号码
  6. APUE 12.7 取消选项
  7. 用计算机乘九位数怎么用,用计算器计算
  8. IOS学习之UITableView滚动到指定位置
  9. JavaMaven【三、常用指令】
  10. CoppeliaSim(Vrep)动力学仿真入门设置
  11. OPNET14.5安装
  12. 笔记本检测工具(全)
  13. android 数据线有几种,安卓数据线有几种
  14. Yate for mac(标记和管理音频文件工具)
  15. 公众号菜单栏如何添加设置一键导航?
  16. 07-SNAP处理Sentinel-1 IW GRD数据
  17. 《从零开始做运营》心得
  18. 【2020-CVPR-3D人体姿态估计】MetaFuse :A Pre-trained Fusion Model for Human Pose Estimation
  19. C++:取整操作ceil()、floor()、round()
  20. 阿里巴巴为新项目收购两枚双拼域名?

热门文章

  1. 赞赏——人人都能赞赏成书
  2. 华为徐直军:“Huawei Inside”量产轿车已做到城区通勤无干预自动驾驶
  3. Excel常见函数用法大全+函数宝典.xls
  4. Observable
  5. Simatic Panel 配方画面功能
  6. android 8 荣耀9,Android 8.0来了!荣耀9/V9用户马上升级
  7. Q新闻丨Go 语言排行飙升至前十;GitHub 已切换到 Kubernetes;陆奇最新内部演讲:如何成为一个优秀的工程师?...
  8. 【二叉树】三种方式解决翻转二叉树问题
  9. dubbox 项目启动 tomcat 报错! 严重: A child container failed during stajava.util.concurrent.ExecutionExc...
  10. JQuery移除指定元素内容