![貪吃蛇VB編程詳解2_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/24/f8c3891e-5d42-4df7-a14e-b713ccd2c759/f8c3891e-5d42-4df7-a14e-b713ccd2c7591.gif)
![貪吃蛇VB編程詳解2_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/24/f8c3891e-5d42-4df7-a14e-b713ccd2c759/f8c3891e-5d42-4df7-a14e-b713ccd2c7592.gif)
![貪吃蛇VB編程詳解2_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/24/f8c3891e-5d42-4df7-a14e-b713ccd2c759/f8c3891e-5d42-4df7-a14e-b713ccd2c7593.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、貪吃蛇VB編程詳解2VB編程有點(diǎn)象搭積木,一個(gè)游戲可以由幾個(gè)小程序組成,然后通過特定的方式聯(lián)系在一起。玩貪吃蛇游戲時(shí),注意到游戲主要由以下幾部分做法組成:1隨機(jī)出現(xiàn)的食物的做法食物的顏色是隨機(jī)出現(xiàn),食物為一個(gè)小圓,外框線是黑色的2. 鍵盤控制按鈕控制蛇運(yùn)行的做法3. 食物吃掉,蛇身加長(zhǎng)的做法4. 蛇死時(shí)的閃動(dòng)的做法5. 蛇撞墻或撞自身后游戲結(jié)束的做法蛇頭為圓形,有外框線,蛇身為方形,顏色是隨機(jī)的,有外框線我找到了一個(gè)貪吃蛇的 VB代碼,仔細(xì)的把這個(gè)貪吃蛇代碼根據(jù)以上 幾部分分解開來,就象把一個(gè)搭好的積木城堡又重新拆解成一塊塊的 積木。貪吃蛇VB代碼詳解一一鍵盤控制蛇運(yùn)行的做法2. 1在VB應(yīng)用
2、程序里設(shè)計(jì)好小游戲(貪吃蛇向前、向左向右和向后爬行),共有控件如下:控件名稱FormlshapeTimer數(shù)量1共4個(gè)12. 2控件的屬性Forml :默認(rèn)值,寬度和高度尺寸適中Shape控件組,表示蛇頭和蛇身,蛇頭為圓形,蛇身為方形控件組控件屬性Shape1(0)表示蛇頭FillColor在調(diào)色版中選一種顏色BorderStyle 選擇 1-SolidShape 選擇 3-circleFillStyle 選擇 0-SolidShape1(1)表示蛇身FillColor在調(diào)色版中選一種顏色BorderStyle 選擇 1-SolidShape 選擇 O-RectangleFillStyle 選
3、為 0-SolidShapel (2)表示蛇身FillColor在調(diào)色版中選一種顏色BorderStyle 選擇 1-Solidshape 設(shè)為 O-RectangleFillStyle 選為 0-SolidShapel (3)FillColor在調(diào)色版中選一種顏色表示蛇身BorderStyle 選擇 1-SolidShape 選擇 0-RectangleFillStyle 選為 0-SolidTimer :默認(rèn)值設(shè)計(jì)界面如下圖所示2. 3如何給小游戲添加菜單欄選擇VB的菜單欄中的工具菜單,在工具菜單中選擇菜單編輯器一項(xiàng),給貪吃蛇鍵盤控制按鈕控制蛇爬行小游戲再添加一個(gè)菜單欄,打開游戲菜單后,里
4、面有兩個(gè)選頂,一個(gè)是開始,一個(gè)是結(jié)束標(biāo)題游戲(主菜單)開始結(jié)束名稱(代碼)GameStartExit2. 4游戲代碼說明,其中的Run step為蛇身方格的寬度,在下圖說明中為10,但在實(shí)際游戲中為400個(gè)點(diǎn),以下是代表四個(gè)方向(游戲代碼)的四個(gè)選項(xiàng):Case 0Shape1(0). Left = Shape1(0) .Left - Run stepLeft方向減(10,0) (20. 0) (30, 0) (40r 0)注意蛇行走的方向?yàn)闄M向方向?yàn)闄M向Shape1(0).Left-Run stepCaselShape1(0).Top = Shape1(0).Top - Run stepTop
5、方向減注意蛇行走的Case 2(10,-10)(10. 0)(20. 0)(30. 0)方向?yàn)榭v向Shape1(0).Top-Run stepShape1(0). Left = Shape1(0) .Left + Run stepLeft方向加(10. 0) (20. 0) (30, 0) (40, 0)注意蛇行走的方向?yàn)闄M向方向?yàn)闄M向Shape1(0).Left +Run stepCase 3Shape1(0).Top = Shape1(0).Top + Ru nstepTop方向加注意蛇行走的方向?yàn)榭v向Shape1(0).Top+Run step另外還有就是用鍵盤的四個(gè)方向鍵控制蛇往前后左
6、右的行走, 我一開 始也搞不清楚為什么用 Case 37 ,Case 38,Case 39,Case 4這四個(gè)代表鍵盤的KeyCode號(hào)碼能代表四個(gè)方向,好在我查到了兩個(gè)貪吃蛇代碼,全是37、38、39、40這個(gè)個(gè)KeyCode號(hào)碼,我就覺得很奇怪,結(jié)果代表鍵盤的四個(gè)方向的代碼真的是用37 38 39 40來表示的,因?yàn)槲覐呢澇陨呤菃为?dú)分離出來的貪吃蛇往前后左右爬行的小游 戲運(yùn)行后可以用鍵盤控制的請(qǐng)看游戲代碼吧:3.游戲代碼一個(gè)是窗體(Form1 )代碼,還有一個(gè)是模塊代碼,本來想把他們二 合一成為窗體代碼的,可是是從原來的游戲中分離出來的, 所以還有 一個(gè)為模塊(Module1 )的代碼Fo
7、rm1代碼:Const Run step = 400定義常量,即蛇身為一個(gè)shape的寬度變量在模塊中定義,窗體中沒有定義Private Sub exit_Click()Timerl .In terval = 0End SubPrivate Sub formo ad()載入窗體,初始化蛇身為一個(gè)數(shù)組shape1(i)Dim i As In tegerFor i = 0 To 3 Step 1sn ake_i nit(i).x = Shape1(i).Leftsn ake_i nit(i).y = Shape1(i).TopNext iEnd SubPrivate Sub Form_KeyDow
8、 n( KeyCode As In teger, shift As In teger)Select Case KeyCodeCase 37蛇不可以退著走,但可以拐彎If Run way <> 2 The nRun way = 0End IfCase 38If Run way <> 3 The nRun way = 1End IfCase 39If Run way <> 0 The nRun way = 2End IfCase 40If Run way <> 1 The nRun way = 3End IfEnd SelectEnd SubPriv
9、ate Sub start_Click()Timer1.l nterval = 1000Call ini t_gameEnd SubPrivate Sub Timer1_Timer() sn ake_po in t.x = Shape1(0).Left sn ake_po in t.y = Shape1(0).TopSelect Case Run wayCase 0Shape1(0)丄 eft = Shape1(0)丄eft - Run stepCall move_snakeCase 1Shape1(0).Top = Shape1(0).Top - Run stepCall move_snak
10、eCase 2Shape1(0)丄 eft = Shape1(0)丄eft + Run stepCall move_snakeCase 3Shape1(0).Top = Shape1(0).Top + Run stepCall move_snakeEnd SelectEnd Sub注解:在Forml中對(duì)Forml load即載入窗體后,對(duì)蛇身做了一個(gè)定位,再把游戲菜單中的開始和結(jié)束做了一個(gè)說明,即開始Timerl.Interval =1000,結(jié)束 Timerl.Interval = 0,然后再說明 Timerl的用法,然后是用鍵盤控制蛇爬行的用法都做了說明,但是在鍵盤控制蛇爬行時(shí)對(duì)Runwa
11、y變量沒有做定義和說明,還有定義蛇的四個(gè)行 走方向?qū)all move_snake (函數(shù))也沒有做說明,在開始游戲是有 一個(gè)重要的代碼Call init_game也會(huì)在模塊中說明,(開始我做游戲 代碼是就沒有Call init_game這一項(xiàng)代碼,也沒有說明,結(jié)果程序是 可以運(yùn)行的,而且蛇也會(huì)向四個(gè)方向爬行的,但是運(yùn)行的路線是不一樣的)在Forml沒有說明的這幾個(gè)方面會(huì)在模塊中一一提到,并解 釋清楚。下面是模塊Modulel的代碼:(先在工程菜單中添加一個(gè)模塊)定義變量Public Run way As In teger定義蛇身Public Type str_s nake_po intx A
12、s In tegery As In tegerEnd Type蛇身初始化,定義蛇身Public sn ake_i nit(O To 3) As str_s nake_po intPublic sn ake_po int As str_s nake_po intPublic Sub ini t_game()Dim i As In tegerFor i = 0 To 3 Step 1Form1.Shape1(i).Left = sn ake_i nit(i).xForm1.Shape1(i).Top = sn ake_i nit(i).yNext iRun way = 0End SubPublic Sub move_sn ake()Dim tempx As In tegerDim tempy As In tegerDim i As In tegerFor i = 1 To 3 Step 1'把X1和X2的值互換,比如X仁4 , X2=6'設(shè)一個(gè)臨時(shí)變量C, C=X1,把X1的值存在變量C中, 'X1=X2,把X2的值給X1,現(xiàn)在X1就是原來的X2的值了 'X2=C,再把C的值給x2,現(xiàn)在X2就是原來的X1的值了tempx = Form1.Shape1(i).Lefttempy = Form1.Shape1(i).TopForm1.Sh
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 粵人版地理八年級(jí)上冊(cè)《第二節(jié) 工業(yè)》聽課評(píng)課記錄1
- 八年級(jí)數(shù)學(xué)上冊(cè) 12.3 角的平分線的性質(zhì) 第2課時(shí) 角的平分線的判定聽評(píng)課記錄 新人教版
- 指導(dǎo)青年教師開展課題研究協(xié)議書(2篇)
- 電力傳輸合同(2篇)
- 人教版數(shù)學(xué)八年級(jí)下冊(cè)《閱讀與思考海倫-秦九韶公式》聽評(píng)課記錄1
- 【2022年新課標(biāo)】部編版七年級(jí)上冊(cè)道德與法治7.2 愛在家人間 聽課評(píng)課記錄
- 小學(xué)數(shù)學(xué)-六年級(jí)下冊(cè)-4-3-5 用比例解決問題 聽評(píng)課記錄
- 華東師大版八年級(jí)上冊(cè)數(shù)學(xué)聽評(píng)課記錄《13.4尺規(guī)作圖(2)》
- 湘教版數(shù)學(xué)八年級(jí)上冊(cè)1.3.3《整數(shù)指數(shù)冪的運(yùn)算法則》聽評(píng)課記錄1
- 蘇科版數(shù)學(xué)九年級(jí)上冊(cè)第2章《弧長(zhǎng)及扇形的面積》聽評(píng)課記錄
- 2025年魯泰集團(tuán)招聘170人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024-2025學(xué)年成都高新區(qū)七上數(shù)學(xué)期末考試試卷【含答案】
- 企業(yè)員工食堂管理制度框架
- 《辣椒主要病蟲害》課件
- 電力溝施工組織設(shè)計(jì)-電纜溝
- 2024年煤礦安全生產(chǎn)知識(shí)培訓(xùn)考試必答題庫及答案(共190題)
- 《法律援助》課件
- 小兒肺炎治療與護(hù)理
- GB/T 36547-2024電化學(xué)儲(chǔ)能電站接入電網(wǎng)技術(shù)規(guī)定
- 學(xué)校物業(yè)管理投標(biāo)書范本
- 《高處作業(yè)安全》課件
評(píng)論
0/150
提交評(píng)論