




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
VB實現(xiàn)貪吃蛇小游戲——比擬適合VB初學者,屬原創(chuàng)作品圖1圖2圖3如圖1所示,布置控件,其中有4個timer控件,1個picture控件〔底圖〕,4個command控件〔上下左右〕,10個label控件。其他功能都在程序里實現(xiàn),其中貪吃蛇都是由點來組成的,初學者主要學習一下timer控件的應用,還有貪吃蛇拐彎怎么實現(xiàn)的。圖2、圖3是游戲視圖。主程序:Publica,b,fAsDouble:Publici,j,c,d,e,g,h,zAsIntegerDimaa(100)AsDouble:Dimbb(100)AsDoublePrivateSubForm_Load()a=100:b=300:c=4'a、b定義第一個點〔紅點〕位置,c能控制藍點數(shù)量g=2000:h=2000Timer1.Interval=(200-z*30)'定義每個定時器間隔時間0.2STimer2.Interval=(200-z*30)Timer3.Interval=(200-z*30)Timer4.Interval=(200-z*30)Timer5.Interval=300Timer1.Enabled=True'初設(shè)一開始向右走Timer2.Enabled=FalseTimer3.Enabled=FalseTimer4.Enabled=FalseEndSubPrivateSubTimer1_Timer()'向右走Picture1.Cls'沒循環(huán)一次就去除上一次畫的圖像,要不就看不出運動了Picture1.DrawWidth=10'定義畫圖粗細b=b+100'b每次都加100,畫圖后坐標就變了aa(i)=abb(j)=bPicture1.PSet(b,a),vbRed'繪制第一個點〔紅〕Fork=1Toc'此k-for循環(huán)從1到c,繪制c個藍色點Ifaa(99)=0Then'如果游戲剛開始,以下繪制方法,一開始j=0,j-k為負,bb〔j-k〕與aa〔j-k〕數(shù)組無效,因此在j<=c時單獨繪制Ifj<=cAndi<=cThenf=400-100*(k-j)Picture1.PSet(f,100),vbBlueElsePicture1.PSet(bb(j-k),aa(i-k)),vbBlue'其他情況時,藍點走過紅點的軌跡EndIfEndIfIfaa(99)<>0Orbb(99)<>0Then'如果時j和i運行到99后變?yōu)?,那么bb〔0〕為紅點時,藍點必須走bb〔99〕、bb〔98〕....Ifj<=cAndi<=cThend=100-k+j:e=100-k+i'此行與以下兩行作用就是為了實現(xiàn)藍點繪制時混合了...bb〔0〕、bb〔99〕...的情況Ifd>=100Thend=d-100Ife>=100Thene=e-100Picture1.PSet(bb(d),aa(e)),vbBlueElsePicture1.PSet(bb(j-k),aa(i-k)),vbBlueEndIfEndIfNextkIfb>4900Orb<100Ora>4900Ora<100Then'碰墻那么重新開始,以下進行了數(shù)據(jù)重置和清零j=-1:i=-1:b=300:a=100:c=4:z=0'如果碰墻了,j=-1時因為運行完了后面有j=j+1,這樣j就等于0了,把a、b重置MsgBox("對不起!您碰墻了!接下來將重新開始游戲!")Foro=0To99aa(o)=0:bb(o)=0'把aa〔〕、bb〔〕數(shù)組中所有的數(shù)清零NextoEndIfIfj>cThen'咬尾了就重新開始游戲,以下進行了數(shù)據(jù)重置和清零Forp=1TocIfbb(j)=bb(j-p)Andaa(i)=aa(i-p)Thenj=-1:i=-1:b=300:a=100:c=4:z=0MsgBox("對不起!您咬尾了!接下來將重新開始游戲!")Foro=0To99aa(o)=0:bb(o)=0NextoExitForEndIfNextpEndIfj=j+1i=i+1Ifj=100Ori=100Thenj=0:i=0'j不能持續(xù)增長,有可能會溢出,現(xiàn)在另j到了100就變0EndSubPrivateSubTimer2_Timer()'向左走Picture1.ClsPicture1.DrawWidth=10b=b-100aa(i)=abb(j)=bPicture1.PSet(b,a),vbRedFork=1TocIfaa(99)=0ThenIfj<=cAndi<=cThenPicture1.PSet(400-100*(k-j),100),vbBlueElsePicture1.PSet(bb(j-k),aa(i-k)),vbBlueEndIfEndIfIfaa(99)<>0Orbb(99)<>0ThenIfj<=cAndi<=cThend=100-k+j:e=100-k+iIfd>=100Thend=d-100Ife>=100Thene=e-100Picture1.PSet(bb(d),aa(e)),vbBlueElsePicture1.PSet(bb(j-k),aa(i-k)),vbBlueEndIfEndIfNextkIfb>4900Orb<100Ora>4900Ora<100Thenj=-1:i=-1:b=300:a=100:c=4:z=0MsgBox("對不起!您碰墻了!接下來將重新開始游戲!")Foro=0To99aa(o)=0:bb(o)=0NextoTimer2.Enabled=FalseTimer1.Enabled=TrueEndIfIfj>cThenForp=1TocIfbb(j)=bb(j-p)Andaa(i)=aa(i-p)Thenj=-1:i=-1:b=300:a=100:c=4:z=0MsgBox("對不起!您咬尾了!接下來將重新開始游戲!")Foro=0To99aa(o)=0:bb(o)=0NextoTimer2.Enabled=FalseTimer1.Enabled=TrueExitForEndIfNextpEndIfj=j+1i=i+1Ifj=100Ori=100Thenj=0:i=0EndSubPrivateSubTimer3_Timer()'向下走Picture1.ClsPicture1.DrawWidth=10a=a+100aa(i)=abb(j)=bPicture1.PSet(b,a),vbRedFork=1TocIfaa(99)=0ThenIfj<=cAndi<=cThenPicture1.PSet(f,100-100*(k-j)),vbBlueElsePicture1.PSet(bb(j-k),aa(i-k)),vbBlueEndIfEndIfIfaa(99)<>0Orbb(99)<>0ThenIfj<=cAndi<=cThend=100-k+j:e=100-k+iIfd>=100Thend=d-100Ife>=100Thene=e-100Picture1.PSet(bb(d),aa(e)),vbBlueElsePicture1.PSet(bb(j-k),aa(i-k)),vbBlueEndIfEndIfNextkIfb>4900Orb<100Ora>4900Ora<100Thenj=-1:i=-1:b=300:a=100:c=4:z=0MsgBox("對不起!您碰墻了!接下來將重新開始游戲!")Foro=0To99aa(o)=0:bb(o)=0NextoTimer3.Enabled=FalseTimer1.Enabled=TrueEndIfIfj>cThenForp=1TocIfbb(j)=bb(j-p)Andaa(i)=aa(i-p)Thenj=-1:i=-1:b=300:a=100:c=4:z=0MsgBox("對不起!您咬尾了!接下來將重新開始游戲!")Foro=0To99aa(o)=0:bb(o)=0NextoTimer3.Enabled=FalseTimer1.Enabled=TrueExitForEndIfNextpEndIfj=j+1i=i+1Ifj=100Ori=100Thenj=0:i=0EndSubPrivateSubTimer4_Timer()'向上走Picture1.ClsPicture1.DrawWidth=10a=a-100aa(i)=abb(j)=bPicture1.PSet(b,a),vbRedFork=1TocIfaa(99)=0ThenIfj<=cAndi<=cThenPicture1.PSet(400-100*(k-j),100),vbBlueElsePicture1.PSet(bb(j-k),aa(i-k)),vbBlueEndIfEndIfIfaa(99)<>0Orbb(99)<>0ThenIfj<=cAndi<=cThend=100-k+j:e=100-k+iIfd>=100Thend=d-100Ife>=100Thene=e-100Picture1.PSet(bb(d),aa(e)),vbBlueElsePicture1.PSet(bb(j-k),aa(i-k)),vbBlueEndIfEndIfNextkIfb>4900Orb<100Ora>4900Ora<100Thenj=-1:i=-1:b=300:a=100:c=4:z=0MsgBox("對不起!您碰墻了!接下來將重新開始游戲!")Foro=0To99aa(o)=0:bb(o)=0NextoTimer4.Enabled=FalseTimer1.Enabled=TrueEndIfIfj>cThenForp=1TocIfbb(j)=bb(j-p)Andaa(i)=aa(i-p)Thenj=-1:i=-1:b=300:a=100:c=4:z=0MsgBox("對不起!您咬尾了!接下來將重新開始游戲!")Foro=0To99aa(o)=0:bb(o)=0NextoTimer4.Enabled=FalseTimer1.Enabled=TrueExitForEndIfNextpEndIfj=j+1i=i+1Ifj=100Ori=100Thenj=0:i=0EndSubPrivateSubCommand1_Click()'上IfTimer3.Enabled=FalseThenTimer2.Enabled=FalseTimer1.Enabled=FalseTimer4.Enabled=TrueEndIfEndSubPrivateSubCommand2_Click()'下IfTimer4.Enabled=FalseAndj>cThenTimer1.Enabled=FalseTimer2.Enabled=FalseTimer3.Enabled=TrueEndIfEndSubPrivateSubCommand3_Click()'左IfTimer1.Enabled=FalseThenTimer3.Enabled=FalseTimer4.Enabled=FalseTimer2.Enabled=TrueEndIfEndSubPrivateSubCommand4_Click()'右IfTimer2.Enabled=FalseThenTimer4.Enabled=FalseTimer3.Enabled=FalseTimer1.Enabled=TrueEndIfEndSubPrivateSubpicture1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)IfKeyCode=38AndTimer3.Enabled=FalseThen'上Timer2.Enabled=False'Timer3.Enabled=FalseTimer1.Enabled=FalseTimer4.Enabled=TrueEndIfIfKeyCode=40AndTimer4.Enabled=FalseAndj>cThen'下Timer2.Enabled=FalseTimer1.Enabled=False'Timer4.Enabled=FalseTimer3.Enabled=TrueEndIfIfKeyCode=37AndTimer1.Enabled=FalseThen'左'Timer1.Enabled=FalseTimer3.Enabled=FalseTimer4.Enabled=FalseTimer2.Enabled=TrueEndIfIfKeyCode=39AndTimer2.Enabled=FalseThen'右'Timer2.Enabled=FalseTimer3.Enabled=FalseTimer4.Enabled=FalseTimer1.Enabled=TrueEndIfEndSubPrivateSubTimer5_T
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年廣東省中考物理試題(解析版)
- 兒子結(jié)婚父母致辭
- 榆中縣金融宣講活動方案
- 植樹節(jié)頒獎活動方案
- 油泵公司年會活動方案
- 武家灣公司團建活動方案
- 沉浸式網(wǎng)課分享活動方案
- 晉商互助自救活動方案
- 月亮營銷活動方案
- 晶源公司年會策劃方案
- 廣東省深圳市南山區(qū)2025年小升初數(shù)學模擬試卷含解析
- 小學三到六年級全冊單詞默寫(素材)-2023-2024學年譯林版(三起)小學英語
- 公路工程項目代建制管理辦法(218頁編制詳細)
- NX空間系統(tǒng)熱簡介復習課程
- 納米氧化鋅實驗報告(共9頁)
- 自粘聚合物改性瀝青防水卷材施工
- 青少年科技創(chuàng)新PPT
- 美麗鄉(xiāng)村片區(qū)內(nèi)監(jiān)理規(guī)劃范本
- 曉明煤礦副井過卷緩沖裝置安裝措施
- 燃料油 MSDS(化學品安全技術(shù)說明書)
- 天車驗收十四大要點
評論
0/150
提交評論