




已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
華東交通大學VB課程設計報告VB課程設計(論文)任務書土木建筑 學院土木工程 專業(yè) 4 班一、課程設計(論文)題目 : 小人移動 二、課程設計(論文)工作自 2014 年 6 月16日起至 2014 年 6 月 22 日止 三、課程設計(論文) 地點: 計算中心8#605 四、課程設計(論文)內(nèi)容要求:1. 本課程設計的目的(1)進一步鞏固和加深對“VB程序設計”課程基本知識的理解和掌握,了解VB語言在項目開發(fā)中的應用。(2)學習程序設計開發(fā)的一般方法,了解和掌握項目開發(fā)過程及方式,培養(yǎng)正確的設計思想和分析問題、解決問題的能力,特別是項目設計能力。(3)通過對標準化、規(guī)范化文檔的掌握并查閱有關技術資料等,培養(yǎng)項目設計開發(fā)能力。 2. 課程設計的任務及要求(1) 基本要求:(1) 對系統(tǒng)功能進行需求分析;(2) 使用Visual basic開發(fā)環(huán)境進行程序開發(fā);(3) 提出系統(tǒng)的設計方案;(4) 編寫源程序代碼并進行調(diào)試。(2) 創(chuàng)新要求在基本要求達到后,可進行創(chuàng)新設計。(3) 課程設計報告撰寫及裝訂要求課程設計報告的撰寫要求表述簡明,圖表準確。報告按如下內(nèi)容和順序用A4紙進行打印并裝訂成冊。(1)封面采用統(tǒng)一的課程設計封面,并按要求填寫好封面要求的個人信息和選題。(2)設計任務書(3)評閱書(4)目錄 (5)正文 (6)主要參考文獻(4) 課程設計評分標準: (1)達到課程設計的目的與要求,程序的可讀性較好,并調(diào)試正確,60分;(2)能正確回答設計的中老師所提問題,可增加10分;(3)課程設計報告書寫規(guī)范整齊,可增加10分;(4)心得體會認真總結,可增加10分;(5)程序有創(chuàng)新性,可增加10分;成績評定實行優(yōu)秀、良好、中等、及格和不及格五個等級。不及格者需重做。(5) 課程設計進度安排(1)準備階段(6學時):選擇設計題目、了解設計目的要求、查閱相關資料。(2)程序模塊設計分析階段(8學時):程序總體設計、詳細設計。(3) 代碼編寫調(diào)試階段(10學時):程序模塊代碼編寫、調(diào)試、測試。(4) 撰寫論文階段(6學時):總結課程設計任務和設計內(nèi)容,撰寫課程設計論文。(6)課程設計題目具體要求:設計要求:從迷宮的入口走到出口。詳細要求如下:1. 能夠打開已有的迷宮文件并進行游戲。2. 游戲者使用光標鍵移動目標。3. 可對游戲者使用時間計時。4. 移動目標只能在通道中移動。5. 可以自定義使用的移動鍵。6. 程序分為設計和游戲兩種狀態(tài)。7. 在設計模式能夠通過鼠標直接繪制的方式設計迷宮并能將所設計的布局保存到文本文件中,保存格式見素材中的樣例文件。8. 設計迷宮時可以指定入口和出口(入口用S表示,出口用F表示,通道用#表示,墻用空格表示,全用半角字符,設計時用鼠標左鍵開辟通道,CTRL+鼠標左鍵設置迷宮入口,CTRL+鼠標右鍵設置迷宮出口)。9. 被移動目標可以使用提供的圖片,或者自行安排其他控件。10. 支持顯示的背景設置,可以設置成任意色彩或者圖案。11.創(chuàng)新要求在基本要求達到后,進行創(chuàng)新設計,創(chuàng)新方向提示如下: 增加三維迷宮線路。 可以設置迷宮的大小。(10x20到50x100) 其它創(chuàng)新(有一定難度,實現(xiàn)代碼在30行以上)。學生簽名: 2014年 6月22日課程設計(論文)評閱意見序號項 目等級優(yōu)秀良好中等及格不及格1課程設計態(tài)度評價2出勤情況評價3任務難度評價4工作量飽滿評價5設計中創(chuàng)新性評價6論文書寫規(guī)范化評價綜合評定等級評閱人 職稱 講師 2013年 6 月 22 日 目 錄第1章 系統(tǒng)概要11.1功能大概介紹1第2章總體設計22.1設計思路22.2 設計方案22.3方案解決2第3章源程序代碼43.1 屬性窗口43.2 Form1的窗口代碼4第4章 運行結果及分析94.1 運行結果94.2程序分析104.3運行程序使用說明10第5章 心得體會11參考文獻12 第1章 系統(tǒng)概要 程序設計可以參考圖,(也可以自己設計,完成即可)本設計小人移動,從迷宮的入口走到出口,屬于游戲類。1.1功能大概介紹 啟動程序,出現(xiàn)小人行走的界面 通過上、下、左、右健控制小人行走,小人通過走空白的地方尋找出口。 當小人走出迷宮時,彈出窗口顯示“恭喜你,成功走出迷宮”。 第2章總體設計2.1設計思路通過上下左右鍵控制小人行走走出迷宮。 如圖2-1為程序流程圖。通過上下左右鍵進入程序走出迷宮圖2-1 流程圖2.2 設計方案設計程序界面迷宮線路可以使用兩種方法實現(xiàn),一是事先畫好,二是利用line控件通過數(shù)組動態(tài)生成。編寫代碼包括事件處理過程和功能函數(shù),還有必要的聲明。變量聲明部分聲明本程序所需要的變量和數(shù)組。要添加必要的程序說明語句。事件處理包括下面的主要事件:Form_Load() 作一些初始化的工作。畫迷宮線路。Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)利用光標鍵控制目標移動。 2.3方案解決1.從文件中讀取數(shù)據(jù)建立一個二維數(shù)組打開提供的路線文件就可以發(fā)現(xiàn)這個文件是由”#”和” ”構成的,對于文件部分課堂上沒有講解,但是可以看課本的第7章。下面是具體使用方法。fnum = FreeFile 得到空文件號Open SelectFile For Input As #fnum 打開文件并指定緩沖區(qū)的文件號Input #fnum, NumRows, NumCols 讀入數(shù)組的行(NumRows)和列(NumCols)值ReDim LelMove(1 To NumRows, 1 To NumCols) 定義動態(tài)數(shù)組的大小對于此二維數(shù)組值的獲得,可以使用雙重循環(huán)逐行讀入。對讀入的每一行mid()取子串生成二維的邏輯性數(shù)組。ch = Mid(row, c, 1) row為讀入的每行內(nèi)容LelMove(r, c) = (ch #) 判斷ch #成立則為True,否則為False另外注意對入口s和出口f的判斷。數(shù)組形成之后定義form的高度和寬度(注意應該和迷宮線路的寬度、二維數(shù)組相結合),這里還要涉及到窗口的屬性ScaleModevbPixels。2.利用數(shù)組畫迷宮線路如果二維數(shù)組讀入正確,畫線就很簡單了,只需設定線高和線寬就可以了(參考線高和線寬值為20)。仍然要注意提取入口和出口的坐標值。Line (c * SQUARE_WID, r * SQUARE_HGT)-Step(-SQUARE_WID, -SQUARE_HGT), clr, BF 線路的高度SQUARE_WID,寬度 SQUARE_HGT,顏色clr3.移動目標小人這里面使用的是Picture控件,圖片已提供。小人根據(jù)坐標x,y值出現(xiàn)PaintPicture picPlayer.Picture, x, y但是怎么樣使舊的小人擦除?可以確定原位置然后重新畫線。小人要通過光標鍵來移動,這就用到了下面的事件Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)KeyCode 是按鍵返回的鍵值,我們涉及到的有vbKeyLeft,vbKeyRight, vbKeyDown, vbKeyUp通過上面的事件和二維數(shù)組結合起來,在可走的地方小人允許出現(xiàn),這樣就可以確定小人只能沿著你畫好的線路走。第3章源程序代碼3.1 屬性窗口Begin VB.Form Form1 AutoRedraw = -1 True BackColor = &H80000004& Caption = 闖迷宮 ClientHeight = 9630 ClientLeft = 225 ClientTop = 555 ClientWidth = 12765 FillColor = &H80000004& FillStyle = 0 Solid KeyPreview = -1 True LinkTopic = Form1 MaxButton = 0 False Picture = 迷宮.frx:0000 ScaleHeight = 9630 ScaleWidth = 12765 StartUpPosition = 2 屏幕中心 Begin VB.PictureBox Picture2 BorderStyle = 0 None Height = 400 Index = 1 Left = 11600 Picture = 迷宮.frx:0461 ScaleHeight = 405 ScaleWidth = 405 TabIndex = 2 Top = 9200 Width = 400 End3.2 Form1的窗口代碼BorderStyle = 0 None Height = 400 Index = 0 Left = 400 Picture = 迷宮.frx:08C2 ScaleHeight = 405 ScaleWidth = 405 TabIndex = 1 Top = 0 Width = 400 End Begin VB.Timer Timer1 Enabled = 0 False Interval = 2000 Left = 7320 Top = 240 End Begin VB.PictureBox Picture1 BackColor = &H0000FF00& Height = 400 Left = 400 Picture = 迷宮.frx:0D23 ScaleHeight = 345 ScaleWidth = 345 TabIndex = 0 Top = 400 Width = 400 End Begin VB.Menu mig Caption = 隨機生成迷宮 End Begin VB.Menu dmg Caption = 啟動動態(tài)迷宮 End Begin VB.Menu start Caption = 初始化 EndEndAttribute VB_Name = Form1Attribute VB_GlobalNameSpace = FalseAttribute VB_Creatable = FalseAttribute VB_PredeclaredId = TrueAttribute VB_Exposed = FalseConst row = 22, col = 30Dim grid(row + 1, col + 1)Private Sub dmg_Click()Picture1.Left = 400 初始化圖片位置Picture1.Top = 400Timer1.Enabled = True 啟動時鐘End SubPrivate Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) 鍵盤控制圖片移動l = Picture1.Left 400t = Picture1.Top 400Line (l * 400, t * 400)-(400 * (l + 1), 400 * (t + 1), vbGreen, BF 顯示走過的路徑Select Case KeyCode 隨著鍵盤的動作來移動 Case vbKeyLeft If Picture1.Left - 400 = 400 Then If grid(t, l - 1) = 0 Then Picture1.Left = Picture1.Left - 400 Picture1.Top = Picture1.Top End If End If Case vbKeyRight If Picture1.Left + 400 = 400 * col Then If grid(t, l + 1) = 0 Then Picture1.Left = Picture1.Left + 400 Picture1.Top = Picture1.Top End If End If Case vbKeyDown If Picture1.Top + 400 = 400 Then If grid(t - 1, l) = 0 Then Picture1.Left = Picture1.Left Picture1.Top = Picture1.Top - 400 End If End IfEnd SelectIf Picture1.Top 400 = row And Picture1.Left 400 = col - 1 Then Timer1.Enabled = False MsgBox (恭喜你,成功走出迷宮!) 顯示成功信息 End IfEnd SubPrivate Sub Form_Load()Open 迷宮矩陣.txt For Input As #1 讀取迷宮矩陣,繪制迷宮圖 For i = 0 To row + 1 For j = 0 To col + 1 If 1 = i And i = row And 1 = j And j = col Then Input #1, grid(i, j) If grid(i, j) = 1 Then 值為1則表示障礙或墻,0則表示通道,即可行路徑 Line (j * 400, i * 400)-(400 * (j + 1), 400 * (i + 1), vbBlue, BF End If Else Line (j * 400, i * 400)-(400 * (j + 1), 400 * (i + 1), vbBlue, BF End If Next NextClose #1End SubPrivate Sub mig_Click() 隨機獲取迷宮矩陣Picture1.Left = 400Picture1.Top = 400Randomizem = row * Int(20 * Rnd)Open 迷宮矩陣.txt For Input As #1 讀取事先設計好的迷宮矩陣,隨機讀取一種矩陣Do While n m Line Input #1, temp n = n + 1Loop For i = 1 To row For j = 1 To col Input #1, grid(i, j) If grid(i, j) = 1 Then Line (j * 400, i * 400)-(400 * (j + 1), 400 * (i + 1), vbBlue, BF Else Line (j * 400, i * 400)-(400 * (j + 1), 400 * (i + 1), vbWhite, B End If Next NextClose #1End SubPrivate Sub start_Click()Picture1.Left = 400Picture1.Top = 400Open 迷宮矩陣.txt For Input As #1 初始化迷宮矩陣 For i = 1 To row For j = 1 To col Input #1, grid(i, j) If grid(i, j) = 1 Then Line (j * 400, i * 400)-(400 * (j + 1), 400 * (i + 1), vbBlue, BF Else Line (j * 400, i * 400)-(400 * (j + 1), 400 * (i + 1), vbWhite, B End If Next NextClose #1End SubPrivate Sub Timer1_Timer() 使迷宮矩陣動態(tài)變化,隨機生成的迷宮可能是走不通的X = 1: Y = 1 For i = 1 To row For j = 1 To col Randomize grid(i, j) = Int(2 * Rnd) If grid(i, j) = 1 Then Line (j * 400, i * 400)-(400 * (j + 1), 400 * (i + 1), vb
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 青少年傳染病防控教育方案
- 2025小學經(jīng)典誦讀比賽策劃方案
- 安全生產(chǎn)施工責任狀及合同
- 貨車運輸服務合同書
- 共享汽車租賃合同范文
- 企業(yè)消防安全合同實施細則
- 終止合同安全協(xié)議書
- 度電影產(chǎn)業(yè)國際合作協(xié)議合同
- 廠房租賃合同轉(zhuǎn)讓協(xié)議示例
- 智能物聯(lián)網(wǎng)設備接入合同
- 新版(七步法案例)PFMEA
- 臨床護理重點??平ㄔO項目評審標準
- 新蘇教版科學五年級下冊全套教學課件
- 審計部組織架構及崗位設置
- 流行性乙型腦炎PPT課件
- 深圳市軌道交通線網(wǎng)規(guī)劃(2016_2035)(草案)
- 400V電纜分支箱生產(chǎn)實用工藝流程
- 四十二式太極劍劍譜
- 完整解讀2021年《建設工程抗震管理條例》PPT教學講座課件
- 新版小學英語PEP四年級下冊教材分析(課堂PPT)
- 食用植物油生產(chǎn)許可證審查細則.doc
評論
0/150
提交評論