(蓝图)虚幻4重制俄罗斯方块(六)-碰撞检测

思路

先想一下,什么时候会发生碰撞?与什么东西发生碰撞?

移动方块值为1,围墙值3,固定方块值为2,

那么我们需要判定方块所在的16个格子是否会发生碰撞

16个格子只检测移动方块(值为1)的下方是否为固定方块(值为2),如果是就固定,如果不为2就继续移动。

检测算法有点类似于数据结构中的串的BF匹配算法,双重循环简单粗暴

(一)检测碰撞

新建一个IsCanMove函数,3个布尔类型返回值默认值为1,最后返回是否会发生碰撞

遍历地图矩阵,条件IsLoc缩小范围到16个元素,x去掉一头一尾,Y去掉末尾,目的去掉围墙部分

 

 

在三个移动操作中使用分支语句

 

在设置向下移动之前需要对前面的FixBlocks函数进行一下拆分

将条件放入新的函数Tobottom中执行

同时替换Move函数中的FixBlocks函数为Tobottom 

最后我们在向下移动函数中,分支为假执行固定方块并重置方块 

不出意外的话,现在的方块已经能够在地图中下落,自由移动和堆叠了,马上就要竣工了

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

锋哥游戏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值