连连看游戏算法.pptVIP

  • 25
  • 0
  • 约1.81千字
  • 约 18页
  • 2016-08-26 发布于河南
  • 举报
连连看游戏算法

连连看游戏算法 连连看游戏规则很简单,就是点中两个互相匹配并且可以通过不多于两个折点的折线连在一起的方块后,这两个方块就可以消掉. 下图的三种情况可以把方块消掉.我们可以假设,配对规则是两数相加等于100. 说明:配对的检查比较简单,只要用一个if语句,条件a+b==100就可以检验了.而两方块能否实现折线连接,则是个相对复杂的问题. 我们来采用逐级算法:先看能否直线连接,若不行,再拐一个弯,再不行,继续拐弯.这也符合一些游戏者玩游戏时判断连接的方法. 这里,把检验连接是否成功定义为一个函数checkNoBarrier(x1,y1,x2,y2),true表示连接成功,false表示连接失败.所以,返回true一般比返回false快.因为只要有一根折线连上了,就可以退出函数.而false则要所有尝试都失败了才能返回 我们来看一级连接检验,就是检验两方块之间能否直线连接,其必要条件之一就是两个块的横坐标或纵坐标相等。 下面以横坐标为例(纵坐标的检验方法类似 ),说明一级连接检验的算法:若横坐标相等,则需要检验的是在y1和y2之间的这些点中是否存在障碍物,这里可以用循环方法检验.如果没有障碍物,则checkNoBarrier马上返回true,函数马上退出.否则,需要进入二级检验. 注意::这里很容易忽略的一个情况就是两个方块相邻.这时,y1与y2之间没有点.如果不检验就会错

文档评论(0)

1亿VIP精品文档

相关文档