- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
游戏界面和相关图片素材 8.2 程序设计的思路 对于图8-2所示的数据模型,只要让数值为-1(BLANK_STATE)的网格上不绘制动物图片,其他数值是动物方块的图像的 ID。非-1(BLANK_STATE)的网格则绘制相应的动物图片,就可显示出连连看的游戏界面。本程序实际上并不是直接使用int二维数组来保存游戏的状态数据,而是采用一维数组m_map。对地图中的行列数的表达,用一个转换法则即可。 例如:点(x1,y2)对应的数组元素m_map(y2 * m_nCol + x1)。其中m_nCol 是总列数。当然数组元素下标也可换算出在“网格”地图中坐标点。 8.2 程序设计的思路 8.2. 2 动物方块布局 连连看游戏数据模型设计好了。在游戏开始前,怎么对它进行初始化呢?下面一起来进行分析。由于方块需要成对地出现,因此在做地图初始化的时候,不应该仅仅对动物方块的图像ID做简单的随机取数,然后将该随机选出来的物件放到地图区域中去就了事,而是需要成对地对对动物方块的图像进行选取,就是说地图区域中的小方块必须是偶数个才行。但是,怎样使方块图案成对出现呢?这里就需要引入一个临时地图tmpMap,该临时地图的大小和实际地图m_map的大小一致。并且先添置好4组完全一样的图像类型ID数据(0~ m_nCol * m_nRow /4)。也就是说每种图像方块有4个。 首先,我们可以先按顺序把每种动物方块(实际上就是标号ID)排好放入ArrayList列表tmpMap(临时的地图)中,然后再随机从tmpMap(临时的地图)中取一个动物方块放入地图m_map中。实际上程序内部是不需要认识动物方块的图像的,只需要用一个ID来表示,运行界面上画出来的动物图形是根据地图中ID取资源里的图片画的。如果ID的值为-1(BLANK_STATE),则说明此处已经被消除掉了。 8.2.3 连通算法 那么分析一下连接的情况可以看到,一般分三种情况,如图8-3所示: 8.2.3 连通算法 (1)直连方式 在直连方式中,要求两个选中的方块x或y相同,即在一条直线上。并且之间没有其他任何图案的方块。在3中连接方式中最简单。 (2)一个折点 其实相当于两个方块划出一个矩形,这两个方块是一对对角顶点,另外两个顶点中某个顶点(即折点)如果可以同时和这两个方块直连,那就说明可以“一折连通”。 (3)两个折点 这种方式的两个折点(z1,z2)必定在两个目标点(两个选中的方块)p1,p2所在的x方向或y方向的直线上。 按p1(x1,y1)点向四个方向探测,例如向右探测,每次x1+1,判断z1(x1+1,y1)与p2(x2,y2)点可否形成一个折点连通性,如果可以形成连通,则两个折点连通,否则直到超过图形右边界区域。假如超过图形右边界区域,则还需判断两个折点在选中方块的右侧,且两个折点在图案区域之外连通情况是否存在。此时判断可以简化为判断p2点(x2,y2)是否可以水平直通到边界。 经过上面的分析,对两个方块是否可以抵消算法流程图如图8-4所示。根据图8-4所示的流程图,对选中的两个方块(分别在(x1,y1)、(x2,y2)位置)是否可以抵消的判断如下实现。把该功能封装在IsLink()方法里面 . 图8-8 智能查找匹配方块流程图 8.4 程序设计的步骤 8.4.1 设计游戏界面窗体(LLKFrame.java) 在项目中创建一个继承JFrame的LLKFrame类,用于显示游戏面板LLKPanel和实现游戏逻辑。由于其他类访问显示已消去方块数量的文本框textarea1,所以textarea1定义为static。 LLKFrame窗体有两个面板组成,一个面板panel1添加“重来一局”“退出”按钮及显示已消去方块数量的文本框textarea1。另一个面板centerPanel显示游戏界面。 8.4.2 设计游戏面板类(LLKPanel.java) 游戏面板类LLKPanel实现方块的显示、显示选中方块之间连接示意线,智能查找功能等游戏功能。 在线教务辅导网: 教材其余课件及动画素材请查阅在线教务辅导网 QQ:349134187 或者直接输入下面地址: Java游戏编程原理与实践教程 主编 陈锐 夏敏捷 人民邮电出版社 “连连看”考验的是各位的眼力,在有限的时间内,只要把所有能连接的相同图案,两个一对地找出来,每找出一对,它们就会自动消失,只要把所有的图案全部消完即可获得胜利。所谓能够连接,指得是:无论横向或者纵向,从一个图案到另一个图案之间的连线不能超过两个弯(中间的直线不超过三根),其中,连线不能从尚未消去的图案上经过。 本章开发连连看游戏,游戏效果如图8-1所示。游戏具有统计消去方块的个数功能,这里由于是10行10列所以方块总数为1
您可能关注的文档
- 新Java Web程序设计教程 教学课件 范立锋 林果园 第1章 Web应用开发简介.ppt
- 新Java Web程序设计教程 教学课件 范立锋 林果园 第13章 Spring与Java EE持久化数据访问.ppt
- 新Java Web应用技术与案例教程 教学课件 杨树林 胡洁萍 第三章 设计模式与分层架构.ppt
- 新Java 程序设计 教学课件 朱喜福 林建民 唐永 第01章.ppt
- 新Java 程序设计项目教程(教育部高职高专计算机教指委规划教材) 教学课件 张兴科 季昌武 项目五.ppt
- 新JavaScript程序设计基础教程 第2版 普通高等教育“十一五”国家级规划教材 教学课件 阮文江 第七章 对象编程1.ppt
- 新JavaScript程序设计基础教程 教学课件 曾海 第9章 CSS+DIV技术.ppt
- 新JavaScript脚本程序设计 教学课件 吴以欣 陈小宁 第3章 JavaScript常用内置对象.ppt
- 新Java编程与应用教程 教学课件 张莉 java_03.ppt
- 新Java编程与应用教程 教学课件 张莉 java_11.ppt
文档评论(0)