obsidian/笔记文件/2.笔记/特殊消除相关逻辑.md
2025-03-26 00:02:56 +08:00

1.7 KiB
Raw Blame History

首先,整一个枚举,是特殊元素相关的

!Pasted image 20230718164420.png

对应触发的具体判断逻辑参考判断颜色的逻辑和消除就好

分别对应的响应逻辑系统,分别是这几个脚本文件

!Pasted image 20230718165339.png

也都对应加上的了

!Pasted image 20230718165414.png

然后,还有一个,图片修改的系统

!Pasted image 20230718165455.png

触发条件也是特殊元素效果不是None

!Pasted image 20230718165515.png

然后具体的触发逻辑就是switch判断整名字然后加载图片组件了

!Pasted image 20230718165548.png

也是触发事件,把物体的图片给换了

!Pasted image 20230718165748.png

!Pasted image 20230718165720.png

对应的替换图片路径

!Pasted image 20230718170339.png

!Pasted image 20230718170408.png

其中,相同颜色的处理,会有点复杂,因为判定条件,是这个,是消除面板所有同色的元素

!Pasted image 20230718171308.png

因此,需要整额外的一个消除逻辑系统

!Pasted image 20230718171043.png

触发条件是这个

!Pasted image 20230718171514.png

具体的逻辑就是遍历所有行列然后把面板同色的物体销毁布尔都设置为true

!Pasted image 20230718171535.png

具体逻辑也可以参考FirstOrDefault

然后消除整行和消除整列就是特定行列和xy加限制的事情了

!Pasted image 20230718172127.png

!Pasted image 20230718172016.png

!Pasted image 20230718172058.png

爆炸的,就是以自己为中心,去销毁周遭了

!Pasted image 20230718172226.png

具体遍历实现逻辑

!Pasted image 20230718172324.png