作者ciliax ()
看板GameDesign
标题[程式] 类似动物管理员的邻近颜色判断?..
时间Wed Sep 19 15:27:37 2012
各位好~
小弟目前在练习开发一款类似动物管理员的游戏
三个同颜色以上的方块就会消除
口口口口口 口口口口口
口口口口口 口口口口口
口口口口口 press -> =>
口口口口口
[
口口口口口] [
口口口口口]
以一排作左右移动
上面懒了就不上色了XD
假设上下左右只要有三个以上颜色相同就会消失
我现在是以array去控管每个方框的颜色
以上方为例,在4*5ARRAY以数字代表颜色
现在碰到的疑问就是..这是2D该如何有效率的判断同颜色的相邻呢
麻烦各位前辈指点了 感谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 180.177.125.224
1F:推 LPH66:换个想法: 别去想能不能判断某颜色有没有得消 09/19 15:38
2F:→ LPH66:去想某三格能不能消 09/19 15:38
3F:→ KanoLoa:消除的条件是? 09/19 16:34
三个以上相邻同色方块消除
4F:→ VVll:去检查最後摆放的周遭能否消去 09/19 16:41
5F:→ nobody1:楼上的做法在连续消除时还是得再重复检查一次 09/19 16:57
6F:推 BSpowerx:所有可能都扫过也不过几百个回圈,不用去省这个啦 09/19 17:05
7F:推 LayerZ:真的要省的话以有动作的地方(例如两个交换的方块) 去往外扩 09/19 17:19
8F:→ LayerZ:展出去 09/19 17:19
9F:→ LayerZ:而且背後用单纯的数学去算就好 09/19 17:19
10F:→ LayerZ:我发现我在说废话 不要理我= = 09/19 17:20
11F:推 juicefish:还要看格子是怎麽补回来的 会不会补回来 被消掉怎麽落 09/19 19:05
12F:→ juicefish:还是直接随机颜色塞回原本格子 09/19 19:06
会空在那边 类似俄罗斯方块的感觉
整排消失才往下掉落
13F:推 damody:请问用什麽语言跟你说 会比较清楚? 09/19 20:06
其实我是用Virtools写 但想不到有效率的方式
14F:→ enthos:我国中时科学营解决了另一问题,解法应该雷同,用空间换时间: 09/19 23:35
15F:→ enthos:每个颜色一个阵列(左右再放大一格),相邻格(最多共9个)+1 09/19 23:35
16F:→ enthos:大於2的颜色位置就是应该消失的位置。 09/19 23:35
17F:→ damody:楼上VB高手? 09/19 23:49
※ 编辑: ciliax 来自: 180.177.125.224 (09/20 04:10)
先谢谢大家的回覆了
补充一下 企划上
并不是两两交换 而是整横排作左右推移
※ 编辑: ciliax 来自: 180.177.125.224 (09/20 04:13)
18F:推 LayerZ:整排左右横移 是不论任何形状只要3个连到就消? 09/20 11:17
19F:→ ciliax:yes 09/20 23:03
20F:推 lf21201:DFS不好吗@@ 09/21 00:44
21F:推 lf21201:DFS找到level=3之後以那个node为起点再一次DFS消除? 09/21 00:53