史萊姆論壇

返回   史萊姆論壇 > 專業主討論區 > 程式語言討論區
忘記密碼?
論壇說明 標記討論區已讀

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


 
 
主題工具 顯示模式
舊 2005-12-23, 10:41 AM   #8 (permalink)
管理版主
 
mini 的頭像
榮譽勳章
UID - 4144
在線等級: 級別:99 | 在線時長:10201小時 | 升級還需:199小時級別:99 | 在線時長:10201小時 | 升級還需:199小時級別:99 | 在線時長:10201小時 | 升級還需:199小時級別:99 | 在線時長:10201小時 | 升級還需:199小時級別:99 | 在線時長:10201小時 | 升級還需:199小時級別:99 | 在線時長:10201小時 | 升級還需:199小時級別:99 | 在線時長:10201小時 | 升級還需:199小時級別:99 | 在線時長:10201小時 | 升級還需:199小時級別:99 | 在線時長:10201小時 | 升級還需:199小時
註冊日期: 2002-12-07
文章: 13525
精華: 0
現金: 26937 金幣
資產: 3024867 金幣
預設

Q:Mouse(1).(2)-->代表滑鼠左右鍵嗎??
A:可見到 MouseModule.bas
Public Mouse(1 To 2) As Mouse_Data '老鼠資料(結構)
Mouse(1)表示為1號老鼠的結構 (資料紀錄)
這裡不是指滑鼠

Q:這兩行我看不懂代表啥意思??
A:是指 Initial 副程式的程式代碼嗎?
同樣首先看到 MouseModule.bas 有解釋
Mouse(i).FlagX(x).FlagY(y) 是一個老鼠心中的 地圖
用來記錄走過的路
redim 沒有用到 Preserve 保留字
就表示重新宣告變數,之前的內容都會被清空
所以
Redim .FlagX(.OldMapX+1)
Redim .FlagX(j).FlagY(.OldMapY+1)
是表示老鼠宣告一份新的地圖
這份地圖一開始為
Mouse(老鼠編號).FlagX(x寬度).FlagY(y寬度) 這般大小
那網友一定會說
Q:老鼠怎麼知道目前自己處於 迷宮陣列的(x,y)位址呢?
A:基於程式必須提供
一份 矩陣資料結構(來給老鼠指示 哪裡可走) +
老鼠本身知到自己的 .Left .Top 座標 +
所以
可算出來 自己處於 迷宮陣列的(x,y)那個位址
(這就是與現實世界的最大不同)

說起來 "迷宮矩陣資料結構 個人的設計 會透露這個迷宮有多大 給老鼠"
這一點有點作弊的嫌疑
不過因為當初是 邊寫邊作規劃的情況下 (未嚴格限制)
所以就不作多說...

作弊的地方就是...

Private Function NotIsNewCoordinate_Range(....) As Boolean
With MoveObject
'現在所處的地圖 陣列座標
X = Int((OBJ.cx(MoveObject)) / RectBrick.W) + 1
Y = Int((OBJ.cy(MoveObject)) / RectBrick.H) + 1

這裡算出了目前處於 "迷宮陣列的(x,y)那個位址"
RectBrick.W 及 RectBrick.H ---->分別代表 迷宮陣列的 最大維度
老鼠應該是不知的才對
不過程式設計原本就有 變數最大值的限制
所以
老鼠知道 迷宮陣列有多大 來準備一份空白地圖
也是合情合理的 (現實世界可比喻成 老鼠的腦容量)

當然要限制老鼠不知 "迷宮陣列的 最大維度" 也可以
此時就要用 鍊結 的方式來設計
不過程式設計難度會變大...
(有無其他方法...有空再看看 )

最後...
.FlagX(0).FlagY(0)=UBound(.FlagX)
.FlagX(0).FlagY(1)=UBound(.FlagY(1).FlagY)
Q: 該不會是把舊的宣告利用UBound來重新宣告嗎??
A: 是的...

.FlagX(0).FlagY(0) '紀錄 心中陣列地圖X軸上限
.FlagX(0).FlagY(1) 'Y軸上限
.FlagX(>1).FlagY(>1) '表示 X,Y軸 障礙物等級
mini 目前離線  
送花文章: 2060, 收花文章: 8083 篇, 收花: 26939 次
回覆時引用此帖
 


主題工具
顯示模式

發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 04:58 AM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2025, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1