Re: 連鎖染色

看板Visual_Basic作者 (月之殤)時間18年前 (2006/05/22 08:58), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《fantasywater (狂想)》之銘言: : 如果白色的0碰到黃色的0 白色的0會變成黃色 : 0 0 : 00000000 → 00000000 → 00000000 : : 這樣只要判斷一個話很好用程式表達 : 0000 0000 0000 0000 0000 : 00 0 00 0 00 0 00 0 00 0 : → 0 → 0 → 0 → 0 : 00000000 00000000 00000000 00000000 00000000 : : 如果是這種情況,那我在將第一個變色之後,要怎麼用程式表達連鎖的情形, : 如果不用遞迴也不用到資料結構,只單純的用條件式和迴圈描述,那條件應該 : 要怎麼寫才能夠才能夠表達這種關係,想了很久,但是分枝一多之後就想不下 : 去了 : 應該只要給你演算就好了吧.... Do ExitFlag=True For i = 1 to 所有色點的總數 if 色點(i)=黃色 then if 上方有白點 then 白點變黃 :ExitFlag=False if 右上方有白點 then 白點變黃 :ExitFlag=False if 右方有白點 then 白點變黃 :ExitFlag=False if 右下方有白點 then 白點變黃 :ExitFlag=False if 下方有白點 then 白點變黃 :ExitFlag=False if 左下方有白點 then 白點變黃 :ExitFlag=False if 左方有白點 then 白點變黃 :ExitFlag=False if 左上方有白點 then 白點變黃 :ExitFlag=False if ExitFlag=False then Exit For end if next i Loop until ExitFlag=True 這個方法可以不用到遞迴 不過相對的 會做很多不必要的處理判斷 如果可以的話還是往遞迴的方面寫會比較好.... -- 題外話:第一次看到時直覺上就覺得這是拿來寫踩地雷用的 Orz -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.81.88.26

05/22 09:57, , 1F
推 踩地雷= =
05/22 09:57, 1F

05/22 21:55, , 2F
的確要做不必要的判斷..不是要用在踩地雷..非常感謝!
05/22 21:55, 2F
文章代碼(AID): #14SGofnT (Visual_Basic)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #14SGofnT (Visual_Basic)