![]() |
|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
![]() ![]() |
|
主題工具 | 顯示模式 |
![]() |
#1 |
註冊會員
|
![]() 請各位大大幫忙~如何印六角型的迷宮牆且判斷要找到最近的路,從S走到E. 現在還在打轉. 如圖
![]() 此帖於 2008-04-27 10:35 AM 被 不飛 編輯. |
![]() |
送花文章: 2,
![]() |
![]() |
#3 (permalink) |
管理版主
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() 幫你兩個地方 (個人不會 c/c++ 之印圖的語法,但如何邏輯式印圖其實沒這麼複雜)
.先看圖 ![]() 只要畫出 座標的記憶體配置方式 就可根據 可通行的方向 訂出六條通路之判斷語法 .六條通路之判斷語法 如下 (這裡個人用 VB寫) 語法:
'X 及 Y 是新的座標,iNO 是試問的方向(1~6),當(X,Y)可通時 IsDirectionOK=True Public Function IsDirectionOK(iNO As Integer, X As Integer, Y As Integer) As Boolean '(NowX,NowY) 是目前老鼠的座標 Select Case iNO Case 1 X = NowX Y = NowY - 1 Case 2 X = NowX + 1 Y = NowY - 1 Case 3 X = NowX + 1 Y = NowY Case 4 X = NowX Y = NowY + 1 Case 5 X = NowX - 1 Y = NowY Case 6 X = NowX - 1 Y = NowY - 1 Else Case 'IsDirectionOK = False Exit Function End Select 'MapXMax 及 MapYMax 記憶體陣列的 X,Y size If (X < 0 Or Y < 0) And (X <= MapXMax Or Y <= MapYMax) Then 'IsDirectionOK = False Else 'Map為 地圖之記憶體陣列,內容為0 表示此方向無阻礙 If Map(X, Y) = 0 Then IsDirectionOK = True End If End Function 至於函式 IsDirectionOK 要傳那個方向 這就由您自己決定 最間單就是依序 1~6 另外也可用 範圍規範式的1~6亂數 選擇 如何使用 語法:
'D 是您決定測試的方向 If IsDirectionOK(D, X, Y) = True Then NowX = X NowY = Y End If 此帖於 2008-04-27 04:31 PM 被 mini 編輯. 原因: 修辭 |
![]() |
送花文章: 2042,
![]() |
![]() ![]() |
|
|
![]() |
||||
主題 | 主題作者 | 討論區 | 回覆 | 最後發表 |
求助 - 電腦偶爾都會出現一個小視窗?請各位大大幫幫忙? | em17990 | 一般電腦疑難討論區 | 1 | 2006-11-30 10:52 AM |
DVDX2.0轉檔問題各位大大幫幫忙 | ECKO | 軟體應用問題討論區 | 1 | 2003-04-30 01:45 AM |
騾子?驢子?網址?請各位大大幫忙! | i78524 | 軟體應用問題討論區 | 6 | 2003-04-27 03:46 PM |
注意字型(請各位大大幫幫忙~~~) | sonyo | 一般電腦疑難討論區 | 5 | 2003-04-01 09:44 PM |