- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android 平台连连看游戏控制逻辑设计及实现
Android 平台连连看游戏控制逻辑设计及实现 摘要:该文介绍了连连看游戏的控制逻辑设计,以及在Android平台的实现过程。提供一个设计Android手机游戏的参考案列,该游戏可运行于以 Android作为操作系统的手机
关键词 :可通;控制逻辑;伪代码
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)03-0206-03
1 背景
Android手机开发平台被称为“第一个真正开放的手机开发平台”,学会Android平台的应用对于手机应用程序的开发有非常重要的意义
连连看游戏规则简单,容易上手,是一款适合大众的经典休闲小游戏,所以将它移植到广泛使用的Android手机开发平台上就很有意义
连连看游戏的规则是只要将相同的两个图标用三条以内的直线连在一起就可以消除这两个图标,这三?l以内的直线都不能经过非空闲区(有图标的方块)。所有的图标在规定的时间内全部消除完毕则取胜,如果在规定的时间内没有消完则失败
控制逻辑可分为三种情况,分别是在一条直线上可通的判断,两条直线上可通的判断(转一个弯)和三条直线上可通的判断(转两个弯)
2 控制逻辑设计
2.1 同一条直线上的算法实现
同一条直线上分为水平(如图1,从点1到点2)和垂直(如图2,从点1到点2)两种情况,这两种情况相似
如果两个选中的图标在一条直线上有可通的路径,则它们只需要一条直线就可以连接
这时我们可以用一个循环从一个点扫描到另一个点,查看它们之间的路径上是否有障碍。如果没有障碍则这两个点可消,否则不可消
此算法实现的伪代码如下:
public boolean Vertical(Point a , Point b)//垂直方向可通的算法
{
int start,end; //start,end分别为所选图标起点和终点的一个坐标
if(a.x==b.xa.y==b.y) //如果两次所选是同一点则退出
return false; //返回不可通标记
start=Math.min(a.y,b.y); //取两点中纵坐标小的点为起始点的纵坐标
end=Math.max(a.y,b.y); //取两点中纵坐标大的点为终点的纵坐标
for(int i=start+1; i
2.2 转一个弯算法实现
如图3所示,转一个弯,可以先看它们的对角点3,如果3这个点没有图标,再测试3和1是否是垂直可通并且3和2是否是水平可通。如果条件都成立则1和2是转一个弯可通的
如图4所示,同样的道理。如果对角点3处没有图标,并且3和1水平可通,3和2垂直可通,则1和2是转一个弯可通的
当然上面两种情况都是转一个弯可通,它们都需要2条直线相连
此算法实现的伪代码如下:
public boolean oneCorner(Point a , Point b) //转一个弯可通的算法
{
Point c = new Point(a.x,b.y); //定义第一个点为所选两点的对角点
Point d = new Point(b.x,a.y); //定义第二个点为所选两点的另一个对角点
if(Grid[c.x][c.y]==0) //判断第一个对角点是否可通
{
//判断对角点和所选两点是否分别垂直可通和水平可通 boolean x1 = Vertical(c,a) Horizontal(c,b);
//可通则保存对角点和所选两点的坐标
p = new Point [] {a, new Point (c.x,c.y),b};
LineType=ONE_CORNER;//
return x1;
}
if(Grid[d.x][d.y]==0)
{
boolean x2 = Vertical(d,b) Horizontal(d,a);
p = new Point [] {a , new Point (d.x,d.y) , b};
LineType=ONE_CORNER; //?思强赏?类型为“转一个弯可通”
return x2; //返回是否可通标记
}
return false; //返回不通标记
}
图3 二直线可通(1) 图4 二直线可通(2)
2.3 转二个弯算法实现
如图5、6、7、8、9所示,我们通过观察这5张图可以发现转二个弯可通的这5种类型的图形都过3和4这两点。这样我们可以用4个循环分别从1和2两点的上、下、左、右四个方向扫描,找出像3和4这类的一对点,将它们依次放入一个
您可能关注的文档
最近下载
- DB41T 2431-2023 重点区域地质灾害风险调查评价规范(1:10000).docx VIP
- 2012 INTERNATIONAL BUILDING CODE (2012年国际建筑规范).pdf VIP
- 金龙湖养老度假基地可行性报告.doc VIP
- 光伏发电工程施工规范.docx VIP
- 渗透检测工艺规程.pptx VIP
- 质量员考试(市政质量)基础知识试卷真题(2025年新版附解析).docx VIP
- 幼儿园课件:变焦PPT.ppt
- KEF音响无线HiFi扬声器LS50 Wireless II用户手册.pdf VIP
- 一种低气味、低刺激双固化胶粘剂及其制备方法.pdf VIP
- 设计机构设置和岗位职责.docx VIP
文档评论(0)