史萊姆論壇

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

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

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

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

Google 提供的廣告


發文 回覆
 
主題工具 顯示模式
舊 2005-11-23, 04:25 PM   #1
mini
管理版主
 
mini 的頭像
榮譽勳章
UID - 4144
在線等級: 級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時
註冊日期: 2002-12-07
文章: 13343
精華: 0
現金: 26452 金幣
資產: 3024312 金幣
預設 程式 - 高智慧 老鼠走迷宮Ver1.0

設計原理
http://fapomatic.com/47/mode.jpg

圖解說明
http://fapomatic.com/47/readmepic.jpg
老鼠可只放任一隻或兩隻在場上比賽

VB原始程式碼 + 已編譯.exe檔 + 三個範例地圖檔 + 解說
http://d.turboupload.com/d/167775/Mouse.rar.html

new download: http://www.funp.net/9091186

完成度 95%
在走入甜甜圈單一出口路徑下
可能會鬧便扭
這一點是可以改進的地方

另外 [路線圖] 功能未完成
有興趣的同好可以試試完成之
(有需要解說的地方請於此帖發問)
簡言之只要參考 .FlagX(X).FlagY(Y) 紀錄
應該不難寫出

最後
程式還有一點例外處理沒盡善
比如地圖檔出現規則外的字元
所以還請見諒

此帖於 2008-03-04 03:57 PM 被 mini 編輯.
mini 目前離線  
送花文章: 2013, 收花文章: 8002 篇, 收花: 26806 次
回覆時引用此帖
有 2 位會員向 mini 送花:
rank (2008-04-28),vbstudents1 (2008-03-06)
感謝您發表一篇好文章
舊 2005-11-23, 09:03 PM   #2 (permalink)
註冊會員
 
rockman132 的頭像
榮譽勳章
UID - 93994
在線等級: 級別:15 | 在線時長:295小時 | 升級還需:25小時級別:15 | 在線時長:295小時 | 升級還需:25小時級別:15 | 在線時長:295小時 | 升級還需:25小時級別:15 | 在線時長:295小時 | 升級還需:25小時級別:15 | 在線時長:295小時 | 升級還需:25小時
註冊日期: 2003-08-24
VIP期限: 2010-09
住址: 遙遠的拉拉山....
文章: 1267
精華: 0
現金: -46 金幣
資產: 8784536 金幣
預設

感謝大大嚕!!!!下載下來思考
rockman132 目前離線  
送花文章: 112, 收花文章: 251 篇, 收花: 702 次
回覆時引用此帖
舊 2005-11-23, 10:05 PM   #3 (permalink)
管理版主
 
mini 的頭像
榮譽勳章
UID - 4144
在線等級: 級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時
註冊日期: 2002-12-07
文章: 13343
精華: 0
現金: 26452 金幣
資產: 3024312 金幣
預設

剛剛針對三個小Bug做了更新 (還未發放)

Ver 1.0.3
.針對 "速度(反應)"欄,重置時 不會再重寫了
.針對 "速度(步伐)"欄,只要有老鼠出籠 重置時 不會再重寫了
.所有老鼠皆進籠後 [開始跑] 即失效
mini 目前離線  
送花文章: 2013, 收花文章: 8002 篇, 收花: 26806 次
回覆時引用此帖
舊 2005-11-29, 01:55 AM   #4 (permalink)
註冊會員
 
rockman132 的頭像
榮譽勳章
UID - 93994
在線等級: 級別:15 | 在線時長:295小時 | 升級還需:25小時級別:15 | 在線時長:295小時 | 升級還需:25小時級別:15 | 在線時長:295小時 | 升級還需:25小時級別:15 | 在線時長:295小時 | 升級還需:25小時級別:15 | 在線時長:295小時 | 升級還需:25小時
註冊日期: 2003-08-24
VIP期限: 2010-09
住址: 遙遠的拉拉山....
文章: 1267
精華: 0
現金: -46 金幣
資產: 8784536 金幣
預設

我可以先問問題嗎??...煩請大大指點嚕!!!
Dim strMapFile As String
這是把地圖的檔案名稱用字串定義嗎???

Private Sub ExitCommand_Click()
End
End Sub
這個物件事直接執行還是說由按鈕來控制

Call MeCaptionIs
mecaption是代表什麼意思呢???
NumbersOnly SpeedText
NumbersOnly TimeText

Maze_Initial Dir(App.Path + "\" + "MAP*.txt"), MapPicture
Call Initial
上述兩行看不懂
rockman132 目前離線  
送花文章: 112, 收花文章: 251 篇, 收花: 702 次
回覆時引用此帖
舊 2005-11-29, 09:12 AM   #5 (permalink)
管理版主
 
mini 的頭像
榮譽勳章
UID - 4144
在線等級: 級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時
註冊日期: 2002-12-07
文章: 13343
精華: 0
現金: 26452 金幣
資產: 3024312 金幣
預設

Dim strMapFile As String
A:這是把地圖的檔案名稱用字串定義嗎???
Q:對呀,因為按重置後不能再用 Dir(App.Path + "\" + "MAP*.txt") 這個方式得到 地圖的檔案名稱,所以要把目前的 地圖檔名 用這個字串變數記錄起來

Private Sub ExitCommand_Click()
End
End Sub
Q:這個物件事直接執行還是說由按鈕來控制
A:按鈕,這是 [離開] 按鈕的 Click(點擊) 事件,
End 是保留字 (以下是 MSDN中文版的解釋)

End 陳述式可以強制程式碼終止,無須經過 Unload、QueryUnload,或 Terminate 事件,或任何其它的 Visual Basic 程式碼。Unload、QueryUnload,表單與物件類別模組的 Terminate 事件都不會執行。由物件類別模組所建立的物件會被破壞、以 Open 陳述式開啟的檔案會被關閉,程式所佔用的記憶體空間也會被釋放。

End 陳述式是一種強制程式停止執行的方式。一般要結束 Visual Basic 程式前,都必須先載出所有表單,確定沒有其它程式引用到其中的物件,且沒有執行中的程式碼,才能結束。


Call MeCaptionIs
A:mecaption是代表什麼意思呢???
Q:搜尋 MeCaptionIs 副程式可看到
'顯示版本
語法:
Private Sub MeCaptionIs()
    'App.Major + App.Minor + App.Revision '主、次、修訂
    Me.Caption = "老鼠走迷宮 Ver" + CStr(App.Major) + "." + CStr(App.Minor)
    If App.Revision <> 0 Then Me.Caption = Me.Caption + "." + CStr(App.Revision)
End Sub
也就是在程式標題列顯示 "老鼠走迷宮 Ver" + 主.次.修訂


Maze_Initial 是地圖處理副程式
Initial 是數據處理副程式
'初始 的意思
Private Sub Initial()
...


Dir(App.Path + "\" + "MAP*.txt") 是
在應用程式下 用 "MAP*.txt" 為搜尋條件 (就像是DOS打 dir map*.txt),會傳回第一個符合條件的字串,都沒有的話會回傳 "" 空字串
MapPicture 是 PictureBox 物件,表示將地圖數據畫在這上面


經驗談:
欲解析他人的程式 請善用 搜尋
如副程式內容過於零亂 那建議不要深究 (除非想了解那段副程式使用到的技巧)
欲學好 MS 出版的 VC++、VB、... 可以用 emule 下一套 MSDN中文版 來用用
比如對 End 點兩下按 F1 鍵,就會出現該解釋及用法
如查無此字,就表示他是一個 windows api 或 自制副程式

新版 v1.0.3
http://d.turboupload.com/d/178219/Mouse.rar.html

Ver 1.0.4
.針對 迷宮初始 之運算 做效能提升
http://d.turboupload.com/d/178354/MazeModule.bas.html
(請取代原 MazeModule.bas ※需重新編譯)

這個創作其實有個弱點
就是 當能走的方向都已走過(旗標皆為1)時 用 "亂數決定方向" 之方法
會使 老鼠產生猶豫不定的現象
這點有待解決...
不過老鼠是一定能走到終點(不會陷入永久迴圈),因此相較其他 老鼠走迷宮 之構思
還算是比較好的方法
mini 目前離線  
送花文章: 2013, 收花文章: 8002 篇, 收花: 26806 次
回覆時引用此帖
舊 2005-12-03, 10:05 PM   #6 (permalink)
註冊會員
 
rockman132 的頭像
榮譽勳章
UID - 93994
在線等級: 級別:15 | 在線時長:295小時 | 升級還需:25小時級別:15 | 在線時長:295小時 | 升級還需:25小時級別:15 | 在線時長:295小時 | 升級還需:25小時級別:15 | 在線時長:295小時 | 升級還需:25小時級別:15 | 在線時長:295小時 | 升級還需:25小時
註冊日期: 2003-08-24
VIP期限: 2010-09
住址: 遙遠的拉拉山....
文章: 1267
精華: 0
現金: -46 金幣
資產: 8784536 金幣
預設

大大請問一下喔!!!
If RectBrick.W > RectBrick.H Then
SpeedText.Text = Int(RectBrick.H / 3)
Else
SpeedText.Text = Int(RectBrick.W / 3)
End If
這個我看不懂

.OldMapX = 0
.OldMapY = 0
ReDim .FlagX(.OldMapX + 1)

Shape(Index).Top = 600
If Index = 1 Then
LeftIs = 240
ElseIf Index = 2 Then
LeftIs = 720
上述那些600、240、720各代表啥意思呢??

strMapFile = CommonDialog_Click(Me)
strMapFile = StringSplit_Str(strMapFile, "1\0$.txt", 1)
這些我也看不懂.....
我就先問這些好了!!!...
rockman132 目前離線  
送花文章: 112, 收花文章: 251 篇, 收花: 702 次
回覆時引用此帖
舊 2005-12-04, 09:31 AM   #7 (permalink)
管理版主
 
mini 的頭像
榮譽勳章
UID - 4144
在線等級: 級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時
註冊日期: 2002-12-07
文章: 13343
精華: 0
現金: 26452 金幣
資產: 3024312 金幣
預設

If RectBrick.W > RectBrick.H Then
SpeedText.Text = Int(RectBrick.H / 3)
Else
SpeedText.Text = Int(RectBrick.W / 3)
End If

因為磚塊大多情況是長方形 (分 RectBrick.W 與 RectBrick.H)
而一步移動距離(SpeedText.Text)是不分長寬的
所以就取最短的一邊 (RectBrick.W與 RectBrick.H 比較) 給 SpeedText.Text
為了使移動時 不移動過頭 (到磚塊裡)


Q:上述那些600、240、720各代表啥意思呢??
A:只是個老鼠(Shape(Index) )於休息室位址的定位 (水平位址 Shape(Index).Left )


strMapFile = CommonDialog_Click(Me)
是呼叫WinAPI的 對話框 來賦予地圖檔名
這裡捨棄 VB提供的 CommonDialog控制項 元件,目的是如此就不需考慮該PC有無 comdlg32.ocx (VB的插件)

您可以在這三行設下中斷點
strMapFile = CommonDialog_Click(Me)
strMapFile = StringSplit_Str(strMapFile, "1\0$.txt", 1)
If strMapFile = "" Then strMapFile = Dir(App.Path + "\" + "MAP*.txt")
來體會
strMapFile = CommonDialog_Click(Me)
strMapFile = StringSplit_Str(strMapFile, "1\0$.txt", 1)
的作用
(
其實照理講 strMapFile = StringSplit_Str(strMapFile, "1\0$.txt", 1)
是多此一舉
但因為 CommonDialog_Click(Me)設計的關係
會傳回一個 257字元長度的字串
※ 原因在CommonDialog_Click含式的 OpenFile.lpstrFile = String(257, 0) 這一行
所以利用 strMapFile = StringSplit_Str(strMapFile, "1\0$.txt", 1)
來捨去 .txt 以後的 字串
※ chr(0) 無法用 trim 來捨棄
)


StringSplit_Str是一個自制的字串分割 函數
StringSplit_Str(欲作用的字串, 分割用參數, 傳回第幾分割字串)
其實VB 有一個 Split 保留字
只是他傳回值 是一個陣列變數 會傳回全部子分割字串
(要用第幾個就用( )來指定第幾分割字串,也可
Split(欲作用的字串, 分割用字串)(傳回第幾分割字串) 方式來直接指定 傳回第幾分割字串
但花費時間不變
)
因此效能不及個人的 StringSplit_Str (有測試過)

strMapFile, "1\0$.txt", 1 表示
用 .txt 針對 strMapFile 做對半分割 傳回 前半段+".txt" 字串
(如是 "1\0$.txt", 0 就是取後半段)
(1\0$ 後的字串是切割辨識字串)
如果 strMapFile= "c:\temp\Map100.txt %#@%@# "
就會回傳 "c:\temp\Map100.txt"

而 StringSplit_Str 還有其他用法
比如
StringSplit_Str(strMapFile, chr(13)+chr(10), 5)
會傳回第5行字串 (因為 chr(13)+chr(10) 是換行字串,也可用vbCrLf 或 vbNewLine
)
如沒有第5行即傳回 "" 空字串
mini 目前離線  
送花文章: 2013, 收花文章: 8002 篇, 收花: 26806 次
回覆時引用此帖
舊 2005-12-23, 10:41 AM   #8 (permalink)
管理版主
 
mini 的頭像
榮譽勳章
UID - 4144
在線等級: 級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時
註冊日期: 2002-12-07
文章: 13343
精華: 0
現金: 26452 金幣
資產: 3024312 金幣
預設

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 目前離線  
送花文章: 2013, 收花文章: 8002 篇, 收花: 26806 次
回覆時引用此帖
舊 2005-12-26, 09:18 PM   #9 (permalink)
註冊會員
 
rockman132 的頭像
榮譽勳章
UID - 93994
在線等級: 級別:15 | 在線時長:295小時 | 升級還需:25小時級別:15 | 在線時長:295小時 | 升級還需:25小時級別:15 | 在線時長:295小時 | 升級還需:25小時級別:15 | 在線時長:295小時 | 升級還需:25小時級別:15 | 在線時長:295小時 | 升級還需:25小時
註冊日期: 2003-08-24
VIP期限: 2010-09
住址: 遙遠的拉拉山....
文章: 1267
精華: 0
現金: -46 金幣
資產: 8784536 金幣
預設

mini大大我可以問一個問題嗎?
主程式後面加上五個模組及一個物件模組....其目的是??
rockman132 目前離線  
送花文章: 112, 收花文章: 251 篇, 收花: 702 次
回覆時引用此帖
舊 2005-12-26, 10:51 PM   #10 (permalink)
管理版主
 
superxboy 的頭像
榮譽勳章
UID - 21259
在線等級: 級別:55 | 在線時長:3359小時 | 升級還需:1小時級別:55 | 在線時長:3359小時 | 升級還需:1小時級別:55 | 在線時長:3359小時 | 升級還需:1小時級別:55 | 在線時長:3359小時 | 升級還需:1小時級別:55 | 在線時長:3359小時 | 升級還需:1小時
註冊日期: 2003-01-02
住址: 北極
文章: 10335
現金: 130 金幣
資產: 844182589 金幣
預設

不能下...再提供一次唄= =
__________________
http://images.gamebase.com.tw/mybase/32/05/281/happy_card_000002776.jpg
愛的時候,可以不公平;不愛了、分開了,總該公平了吧

重情重義重粉味 愛台愛鄉愛查某
superxboy 目前離線  
送花文章: 3254, 收花文章: 4835 篇, 收花: 21651 次
回覆時引用此帖
舊 2005-12-26, 10:53 PM   #11 (permalink)
管理版主
 
mini 的頭像
榮譽勳章
UID - 4144
在線等級: 級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時
註冊日期: 2002-12-07
文章: 13343
精華: 0
現金: 26452 金幣
資產: 3024312 金幣
預設

上面都有解說
比如 MazeModule.bas
'**********************************
'* 作者: mini 模組: 迷宮結構&形式 *
'**********************************

.bas模組 主要是為了做成 公用(Public)方程式,如此使用會方便點
而且 winapi 的宣告大多也是在.bas模組裡宣告

物件模組 只是一個class的示範
這裡的 OBJClass.cls 是定位成 "個性"
比如
mouse 的中心點座標
OBJ.cx(mouse) , OBJ.cy(mouse)

在這個專案裡 並沒有將class的特性表露出來
class 的特性是動態宣告
將屬性製作出 個性
mini 目前離線  
送花文章: 2013, 收花文章: 8002 篇, 收花: 26806 次
回覆時引用此帖
舊 2005-12-27, 08:52 AM   #12 (permalink)
管理版主
 
mini 的頭像
榮譽勳章
UID - 4144
在線等級: 級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時
註冊日期: 2002-12-07
文章: 13343
精華: 0
現金: 26452 金幣
資產: 3024312 金幣
預設

引用:
作者: superxboy
不能下...再提供一次唄= =
待有空作一次版本更新後
再重新發放之
謝謝支持~
mini 目前離線  
送花文章: 2013, 收花文章: 8002 篇, 收花: 26806 次
回覆時引用此帖
舊 2006-01-02, 06:46 AM   #13 (permalink)
註冊會員
 
rockman132 的頭像
榮譽勳章
UID - 93994
在線等級: 級別:15 | 在線時長:295小時 | 升級還需:25小時級別:15 | 在線時長:295小時 | 升級還需:25小時級別:15 | 在線時長:295小時 | 升級還需:25小時級別:15 | 在線時長:295小時 | 升級還需:25小時級別:15 | 在線時長:295小時 | 升級還需:25小時
註冊日期: 2003-08-24
VIP期限: 2010-09
住址: 遙遠的拉拉山....
文章: 1267
精華: 0
現金: -46 金幣
資產: 8784536 金幣
預設

小弟我有問題想請教一下大大
Int(RectBrick.H/3)
那/3是一定要除以三嗎???還是說代表其他意思呢??

if MLineCheck(MouseIndex)=1 Then MapPicture.Line(.OldPosX,.OldPosY)-(OBJ.cx(Shape(MouseIndex)),.OldPosY),Shape(MouseIndex).BlackColor
這句代表啥意思呢?

在來就是
Shape(MouseIndex).ZOrder1
Shape(MouseIndex).Left=480
Shape(MouseIndex).Top=360
這三句第一句我看不懂....

感謝大大的回答.....

大大寫的程式...小弟我大概都看的懂..除了CommonDialog那邊小弟我不是很懂...學校才提到一點點...至於OBJ.class裡面大概都不是很懂...
rockman132 目前離線  
送花文章: 112, 收花文章: 251 篇, 收花: 702 次
回覆時引用此帖
舊 2006-01-02, 01:02 PM   #14 (permalink)
管理版主
 
mini 的頭像
榮譽勳章
UID - 4144
在線等級: 級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時
註冊日期: 2002-12-07
文章: 13343
精華: 0
現金: 26452 金幣
資產: 3024312 金幣
預設

應該是指 SpeedText.Text = Int(RectBrick.H / 3)
除以3 是為了使移動看起來比較順(個人觀點)
要大一點或小一點都可以
只是不要小於 1 就好了


if MLineCheck(MouseIndex)=1 Then MapPicture.Line(.OldPosX,.OldPosY)-(OBJ.cx(Shape(MouseIndex)),.OldPosY),Shape(MouseIndex).BlackColor
這句代表啥意思呢?
A: 用 MLineCheck 核取框決定是否畫出行走的 路跡



Shape(MouseIndex).ZOrder 1 '後到的 排後面
Shape(MouseIndex).Left = 480
Shape(MouseIndex).Top = 360

首先可知 ZOrder 方法如下

語法: object.ZOrder position

ZOrder 方法的語法具有下列幾個單元:

<object 選擇性引數> 物件運算式,
其值為「適用於」清單中的某個物件。如果省略 object,則假設具有駐點的 Form 物件為 object。

<Position 選擇性引數> 整數,
用以指示 object 相對於同一 object 其它執行個體的位置。如果 position 為 0 或省略,則 object 放置在疊置順序前面。如果 position 為 1,則 object 放置在疊置順序後面。

所以
Shape(MouseIndex).ZOrder 1
就是 後來的 排後面 (先來的排前面)
(如果有兩隻老鼠,用來安排 先來後到 誰壓住誰)
mini 目前離線  
送花文章: 2013, 收花文章: 8002 篇, 收花: 26806 次
回覆時引用此帖
舊 2006-01-02, 09:55 PM   #15 (permalink)
註冊會員
 
rockman132 的頭像
榮譽勳章
UID - 93994
在線等級: 級別:15 | 在線時長:295小時 | 升級還需:25小時級別:15 | 在線時長:295小時 | 升級還需:25小時級別:15 | 在線時長:295小時 | 升級還需:25小時級別:15 | 在線時長:295小時 | 升級還需:25小時級別:15 | 在線時長:295小時 | 升級還需:25小時
註冊日期: 2003-08-24
VIP期限: 2010-09
住址: 遙遠的拉拉山....
文章: 1267
精華: 0
現金: -46 金幣
資產: 8784536 金幣
預設

今天順利報告完畢..謝謝大大嚕!!!
指導老師還對大大寫的程式感到興趣....

希望我明天可以利用powerpoint來說明滑鼠會上下左右移動的原因?
rockman132 目前離線  
送花文章: 112, 收花文章: 251 篇, 收花: 702 次
回覆時引用此帖
發文 回覆



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

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


所有時間均為台北時間。現在的時間是 01:22 PM


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


SEO by vBSEO 3.6.1