看板 GameDesign 關於我們 聯絡資訊
各位好~ 小弟目前在練習開發一款類似動物管理員的遊戲 三個同顏色以上的方塊就會消除 口口口口口 口口口口口 口口口口口 口口口口口 press -> => [] [] 以一排作左右移動 上面懶了就不上色了XD 假設上下左右只要有三個以上顏色相同就會消失 我現在是以array去控管每個方框的顏色 以上方為例,在4*5ARRAY以數字代表顏色 現在碰到的疑問就是..這是2D該如何有效率的判斷同顏色的相鄰呢 麻煩各位前輩指點了 感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 180.177.125.224
LPH66:換個想法: 別去想能不能判斷某顏色有沒有得消 09/19 15:38
LPH66:去想某三格能不能消 09/19 15:38
KanoLoa:消除的條件是? 09/19 16:34
三個以上相鄰同色方塊消除
VVll:去檢查最後擺放的周遭能否消去 09/19 16:41
nobody1:樓上的做法在連續消除時還是得再重複檢查一次 09/19 16:57
BSpowerx:所有可能都掃過也不過幾百個迴圈,不用去省這個啦 09/19 17:05
LayerZ:真的要省的話以有動作的地方(例如兩個交換的方塊) 去往外擴 09/19 17:19
LayerZ:展出去 09/19 17:19
LayerZ:而且背後用單純的數學去算就好 09/19 17:19
LayerZ:我發現我在說廢話 不要理我= = 09/19 17:20
juicefish:還要看格子是怎麼補回來的 會不會補回來 被消掉怎麼落 09/19 19:05
juicefish:還是直接隨機顏色塞回原本格子 09/19 19:06
會空在那邊 類似俄羅斯方塊的感覺 整排消失才往下掉落
damody:請問用什麼語言跟你說 會比較清楚? 09/19 20:06
其實我是用Virtools寫 但想不到有效率的方式
enthos:我國中時科學營解決了另一問題,解法應該雷同,用空間換時間: 09/19 23:35
enthos:每個顏色一個陣列(左右再放大一格),相鄰格(最多共9個)+1 09/19 23:35
enthos:大於2的顏色位置就是應該消失的位置。 09/19 23:35
damody:樓上VB高手? 09/19 23:49
※ 編輯: ciliax 來自: 180.177.125.224 (09/20 04:10) 先謝謝大家的回覆了 補充一下 企劃上 並不是兩兩交換 而是整橫排作左右推移 ※ 編輯: ciliax 來自: 180.177.125.224 (09/20 04:13)
LayerZ:整排左右橫移 是不論任何形狀只要3個連到就消? 09/20 11:17
ciliax:yes 09/20 23:03
lf21201:DFS不好嗎@@ 09/21 00:44
lf21201:DFS找到level=3之後以那個node為起點再一次DFS消除? 09/21 00:53