首页 文章 精选 留言 我的

精选列表

搜索[游戏AI],共10000篇文章
优秀的个人博客,低调大师

疯狂ios讲义疯狂连载之实现游戏逻辑(2)

13.6.5定义获取通道的工具方法 这里所谓的通道指的是一个方块上、下、左、右4个方向上的空白方块图13.10显示了一个方块四周的通道。 图13.10方块四周的通道 下面是获取某个坐标点四周通道的4个方法。 程序清单codes/13/Link/Link/sources/board/FKGameService.m 13.6.6没有转折点的横向连接 如果两个FKPiece在FKPiece二维数组中的第二维索引值相等那么这两个FKPiece就位于同一行如前面的linkWithBeginPiece:endPiece:方法中①号代码所示此时程序需要调用isXBlockFromP1: toP2:pieceWidth:判断p1、p2之间是否有障碍。下面是该方法的代码。 程序清单codes/13/Link/Link/sources/board/FKGameService.m 从上面的判断可以看出如果两个方块位于同一行且它们之间没有障碍那么这两个方块就可以消除两个方块的连接信息就是它们的中心。 13.6.7没有转折点的纵向连接 与之相似的是如果两个FKPiece在FKPiece二维数组中的第一维索引值相等那么这两个FKPiece就位于同一列如前面的linkWithBeginPiece:endPiece:方法中②号代码所示此时程序需要调用isYBlockFromP1: toP2:pieceHeight:方法判断p1、p2之间是否有障碍。下面是该方法的代码。 程序清单codes/13/Link/Link/sources/board/FKGameService.m 13.6.8一个转折点的连接 对于两个方块的连接线上只有一个转折点的情况程序需要先找到这个转折点。为了找到这个转折点程序定义遍历两个通道并获取它们交点的一个方法。 程序清单codes/13/Link/Link/sources/board/FKGameService.m 为了找出两个方块连接线上的连接点程序同样需要分析p1、p2两个点的位置分布。根据前面的分析我们知道p2要么位于p1的右上角要么位于p1的右下角。 注意 对于p2位于p1的左上角和左下角的情况只要把p1、p2交换即可。 对于p2位于p1的右上角的情形如图13.11所示。 从图13.11可以看出当p2位于p1的右上角时应该计算p1的左通道与p2的向下通道是否有交点p1的向上通道与p2的向左通道是否有交点。 对于p2位于p1的右下角的情形如图13.12所示。 从图13.12可以看出当p2位于p1的右上角时应该计算p1的向右通道与p2的向上通道是否有交点p1的向下通道与p2的向左通道是否有交点。 图13.11p2位于p1的右上角 图13.12p2位于p1的右下角 考虑到p1与p2具有上面两种分布情形程序提供了如下方法进行处理。 程序清单codes/13/Link/Link/sources/board/FKGameService.m 上面的两行粗体字代码分别处理了p2位于p1的右上和右下的两种情形。 程序中用到了isLeftUp、isLeftDown、isRightUp、isRightDown方法来判断p2位于p1的左上、左下、右上、右下4种情形这4个方法的实现比较简单只要对它们的X、Y坐标进行简单判断即可代码如下。 程序清单codes/13/Link/Link/sources/board/FKGameService.m ——————本文节选自《疯狂ios讲义上》 本文转自 fkJava李刚51CTO博客,原文链接:http://blog.51cto.com/javaligang/1360987,如需转载请自行联系原作者

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册