[程式] 類似動物管理員的鄰近顏色判斷?..

看板GameDesign作者時間11年前 (2012/09/19 15:27), 編輯推噓8(8013)
留言21則, 11人參與, 最新討論串1/2 (看更多)
各位好~ 小弟目前在練習開發一款類似動物管理員的遊戲 三個同顏色以上的方塊就會消除 口口口口口 口口口口口 口口口口口 口口口口口 press -> => [] [口口] 以一排作左右移動 上面懶了就不上色了XD 假設上下左右只要有三個以上顏色相同就會消失 我現在是以array去控管每個方框的顏色 以上方為例,在4*5ARRAY以數字代表顏色 現在碰到的疑問就是..這是2D該如何有效率的判斷同顏色的相鄰呢 麻煩各位前輩指點了 感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 180.177.125.224

09/19 15:38, , 1F
換個想法: 別去想能不能判斷某顏色有沒有得消
09/19 15:38, 1F

09/19 15:38, , 2F
去想某三格能不能消
09/19 15:38, 2F

09/19 16:34, , 3F
消除的條件是?
09/19 16:34, 3F
三個以上相鄰同色方塊消除

09/19 16:41, , 4F
去檢查最後擺放的周遭能否消去
09/19 16:41, 4F

09/19 16:57, , 5F
樓上的做法在連續消除時還是得再重複檢查一次
09/19 16:57, 5F

09/19 17:05, , 6F
所有可能都掃過也不過幾百個迴圈,不用去省這個啦
09/19 17:05, 6F

09/19 17:19, , 7F
真的要省的話以有動作的地方(例如兩個交換的方塊) 去往外擴
09/19 17:19, 7F

09/19 17:19, , 8F
展出去
09/19 17:19, 8F

09/19 17:19, , 9F
而且背後用單純的數學去算就好
09/19 17:19, 9F

09/19 17:20, , 10F
我發現我在說廢話 不要理我= =
09/19 17:20, 10F

09/19 19:05, , 11F
還要看格子是怎麼補回來的 會不會補回來 被消掉怎麼落
09/19 19:05, 11F

09/19 19:06, , 12F
還是直接隨機顏色塞回原本格子
09/19 19:06, 12F
會空在那邊 類似俄羅斯方塊的感覺 整排消失才往下掉落

09/19 20:06, , 13F
請問用什麼語言跟你說 會比較清楚?
09/19 20:06, 13F
其實我是用Virtools寫 但想不到有效率的方式

09/19 23:35, , 14F
我國中時科學營解決了另一問題,解法應該雷同,用空間換時間:
09/19 23:35, 14F

09/19 23:35, , 15F
每個顏色一個陣列(左右再放大一格),相鄰格(最多共9個)+1
09/19 23:35, 15F

09/19 23:35, , 16F
大於2的顏色位置就是應該消失的位置。
09/19 23:35, 16F

09/19 23:49, , 17F
樓上VB高手?
09/19 23:49, 17F
※ 編輯: ciliax 來自: 180.177.125.224 (09/20 04:10) 先謝謝大家的回覆了 補充一下 企劃上 並不是兩兩交換 而是整橫排作左右推移 ※ 編輯: ciliax 來自: 180.177.125.224 (09/20 04:13)

09/20 11:17, , 18F
整排左右橫移 是不論任何形狀只要3個連到就消?
09/20 11:17, 18F

09/20 23:03, , 19F
yes
09/20 23:03, 19F

09/21 00:44, , 20F
DFS不好嗎@@
09/21 00:44, 20F

09/21 00:53, , 21F
DFS找到level=3之後以那個node為起點再一次DFS消除?
09/21 00:53, 21F
文章代碼(AID): #1GMNFj40 (GameDesign)
文章代碼(AID): #1GMNFj40 (GameDesign)