VB課程設(shè)-07-072007迷宮(完善后)_第1頁
VB課程設(shè)-07-072007迷宮(完善后)_第2頁
VB課程設(shè)-07-072007迷宮(完善后)_第3頁
VB課程設(shè)-07-072007迷宮(完善后)_第4頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、. 走出迷宮設(shè)計(jì)報(bào)告學(xué)院 材料學(xué)院 班級(jí) 材料074 學(xué)號(hào) 072007 姓名 李璐 成績 一、設(shè)計(jì)思路1.要達(dá)到的目的能夠打開已有的迷宮文件并進(jìn)行游戲。游戲者使用光標(biāo)鍵移動(dòng)目標(biāo)可對游戲者進(jìn)行時(shí)間計(jì)時(shí)移動(dòng)目標(biāo)只能在通道中移動(dòng)可以自定義使用移動(dòng)鍵2.關(guān)鍵問題的解決程序分為設(shè)計(jì)和游戲兩種狀態(tài)。可以自己設(shè)置迷宮路線圖,設(shè)計(jì)時(shí)同時(shí)指定入口和出口(入口用S表示,出口用F表示,通道用#表示,墻用空格表示,全用半角字符)。被移動(dòng)目標(biāo)可以使用提供的圖片,或者自行安排其他控件。支持顯示的背景設(shè)置,可以設(shè)置成任意色彩或者圖案??梢栽O(shè)置迷宮的大小。退出調(diào)用退出調(diào)用 GAMESTART模塊二.程序流程圖調(diào)用調(diào)用自定義

2、設(shè)置 選擇路線并開始游戲繼續(xù)游戲三、部分程序關(guān)鍵源代碼及注釋 初始化設(shè)置.up = 0 down = 0 left5 = 0 right = 0 ScaleMode = vbPixels AutoRedraw = True Picplayer.Visible = False SQUARE_WID = 20 SQUARE_HGT = 20 bcolor = &HFF0000 自定義使用光標(biāo)鍵 m = PlayerM n = PlayerN If up <> 0 And down <> 0 And left5 <> 0 And right <>

3、; 0 Then Select Case KeyCode Case left5 n = PlayerN - 1 Case right n = PlayerN + 1 Case down m = PlayerM + 1 Case up m = PlayerM - 1 Case Else Exit Sub End Select Else Select Case KeyCode Case vbKeyLeft n = PlayerN - 1 Case vbKeyRight n = PlayerN + 1 Case vbKeyDown m = PlayerM + 1 Case vbKeyUp m = P

4、layerM - 1 Case Else Exit Sub End Select End If If LegalMove(m, n) Then PositionPlayer m, n 建立二維數(shù)組On Error GoTo errhandlerCommonDialog1.ShowOpenfnum = FreeFileOpen CommonDialog1.FileName For Input As #fnumInput #fnum, NumRows, NumColsReDim LegalMove(1 To NumRows, 1 To NumCols) For m = 1 To NumRows L

5、ine Input #fnum, row_info For n = 1 To NumCols ch = Mid$(row_info, n, 1) LegalMove(m, n) = (ch <> "#") If LCase$(ch) = "s" Then ' 入口. PlayerM = m PlayerN = n ElseIf LCase$(ch) = "f" Then ' 出口. MFinish = m NFinish = n End If Next n Next mClose #fnumWidth =

6、ScaleX(SQUARE_WID * NumCols, ScaleMode, vbTwips) + _ Width - ScaleX(ScaleWidth, ScaleMode, vbTwips) Height = ScaleY(SQUARE_HGT * NumRows, ScaleMode, vbTwips) + _ Height - ScaleY(ScaleHeight, ScaleMode, vbTwips)開始畫圖. Cls For m = 1 To NumRows For n = 1 To NumCols If LegalMove(m, n) Then If m = MFinish

7、 And n = NFinish Then clr = vbRed Else clr = vbWhite End If Else clr = bcolor End If Line (n * SQUARE_WID, m * SQUARE_HGT)-Step(-SQUARE_WID, -SQUARE_HGT), clr, BF Next n Next m擦除小人的上一個(gè)位置. If PlayerM > 0 Then a = (PlayerN - 1) * SQUARE_WID + (SQUARE_WID - Picplayer.Width) / 2 b = (PlayerM - 1) * S

8、QUARE_HGT + (SQUARE_HGT - Picplayer.Height) / 2 Line (a - 1, b - 1)-Step(Picplayer.Width, Picplayer.Height), vbWhite, BF End If畫出現(xiàn)在位置的小人. a = (n - 1) * SQUARE_WID + (SQUARE_WID - Picplayer.Width) / 2 b = (m - 1) * SQUARE_HGT + (SQUARE_HGT - Picplayer.Height) / 2 PaintPicture Picplayer.Picture, a, b

9、檢查是否到達(dá)終點(diǎn). If m = MFinish And n = NFinish Then If MsgBox("您用時(shí)" & _ Int(Timer - StartTime) & " 秒." & _ vbCrLf & "再玩一次?", vbYesNo, _ "Congratulations") = vbYes _ Then Form_Load Else Unload Me End If End If從文件中讀取數(shù)據(jù)建立一個(gè)二維數(shù)組 fnum = FreeFile 得到空文件號(hào)Ope

10、n SelectFile For Input As #fnum 打開文件并指定緩沖區(qū)的文件號(hào)Input #fnum, NumRows, NumCols 讀入數(shù)組的行(NumRows)和列(NumCols)值ReDim LelMove(1 To NumRows, 1 To NumCols) 定義動(dòng)態(tài)數(shù)組的大小ch = Mid(row, c, 1) row為讀入的每行內(nèi)容LelMove(r, c) = (ch <> "#") 判斷ch <> "#"成立則為True,否則為FalseScaleModevbPixels。窗口的屬性四、設(shè)計(jì)

11、方案的完善及目前存在的問題1設(shè)計(jì)方案要完善的地方 1 增加迷宮路線的復(fù)雜程度。2 自行設(shè)置移動(dòng)鍵并可以隨時(shí)調(diào)用。2. 目前存在的問題1尚未達(dá)到:在設(shè)計(jì)模式能夠通過鼠標(biāo)直接繪制的方式設(shè)計(jì)迷宮,并能將所設(shè)計(jì)的布局保存到文本文件中,即設(shè)計(jì)時(shí)用鼠標(biāo)左鍵開辟通道,CTRL+鼠標(biāo)左鍵設(shè)置迷宮入口,CTRL+鼠標(biāo)右鍵設(shè)置迷宮出口。2未完成對三維路線圖的設(shè)置.五、本次設(shè)計(jì)的收獲及心得體會(huì) 選擇這樣一個(gè)題目,很多地方無從下手,很多知識(shí)課本上涉及的不是很多,經(jīng)過多方查找資料,程序員指南和控件參考手冊都成了必備的參考工具,把各部分需要用的程序相關(guān)代碼羅列出來,然后進(jìn)行整和,這道題對我來將挑戰(zhàn)性是非常大的,但通過這次實(shí)習(xí),我發(fā)現(xiàn)VB作為一種語言工具,能夠設(shè)計(jì)出各種各樣的程序,完成不同的功能,是很有用的,以后決心努力學(xué)習(xí)VB,學(xué)好VB。六、對該題目和VB設(shè)計(jì)的意見和建議1. 對該題目的意見和建議可以運(yùn)用控件知識(shí),自行設(shè)置移動(dòng)鍵??梢試L試設(shè)置三維路線圖??梢赃m當(dāng)添加背景音樂,增加趣味性??梢赃m當(dāng)添加程序,能夠顯示排名。2對本次設(shè)計(jì)的意見和建議很想自己設(shè)計(jì)一套程序,這次設(shè)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論