首页 vb程序游戏设计-36页文档资料

vb程序游戏设计-36页文档资料

举报
开通vip

vb程序游戏设计-36页文档资料如有侵权,请联系网站删除,仅供学习与交流【精品文档】第PAGE35页vb程序游戏设计摘要VisualBasic6.0是一款可视化的,面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发windows环境下的种类应用程序。它简单易学,效率高,且功能强大,可以与Windows专业开发工具相媲美。在VisualBasic环境下,利用事出有因件驱动的编程机制,新颖易用的可视化工具,使用Windows内部的广泛应用程序接口(API)函数,运用动态链接库(DLL),对象的链接与嵌入(OLE),开放式数据连接(O...

vb程序游戏设计-36页文档资料
如有侵权,请联系网站删除,仅供学习与交流【精品文档】第PAGE35页vb程序游戏设计摘要VisualBasic6.0是一款可视化的,面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发windows环境下的种类应用程序。它简单易学,效率高,且功能强大,可以与Windows专业开发工具相媲美。在VisualBasic环境下,利用事出有因件驱动的编程机制,新颖易用的可视化工具,使用Windows内部的广泛应用程序接口(API)函数,运用动态链接库(DLL),对象的链接与嵌入(OLE),开放式数据连接(ODBC)等技术,可以高效,可以快速地开发Windows环境不功能强大,图形界面丰富的程序。为了适应信息化时代的需求,各高校对大多数专业都开设了一定的计算机语言课程,有的讲授VisualBasic语言。VisualBasic以其语法简单,可视化设计,功能强大,为许多学校计算机语言课程的首选语言。目前国内各出版了大量的VisualBasic语言教程,它们都具有同样的特点:介绍语言的语法等基本知识,再辅助一些简单的示例。学生通过学习,可能能够考一个不错的成绩,但所掌握的仍然是一些支离破碎的知识,不能将所有的知识融会贯通,遇到具体的程序设计,还是无从下手。这次我要做的是计算器,通过这样程序设计,我们可以学到好多关于VB语言的使方法,熟悉VisualBasic6.0的运行环境,快速掌握VB语言!小小的计算器是我们学VB初级语言的最好课程 。目录TOC\o"1-3"\h\z\u一功能描述PAGEREF_Toc260325068\h31.功能PAGEREF_Toc260325069\h32.实验目的PAGEREF_Toc260325070\h3二概要设计PAGEREF_Toc260325071\h41.界面设计PAGEREF_Toc260325072\h42.程序运行5三设计结果6四程序源代码7五设计 总结 初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf 40六参考文献41一功能描述1.功能可以简单进行简单的坦克大战游戏,从而实现坦克战争的模拟。2.实验目的这次我要做的是坦克大战小游戏,通过这样程序设计,我们可以学到好多关于VB语言的使方法,熟悉VisualBasic6.0的运行环境,快速掌握VB语言!二概要设计1.界面设计2.程序运行:三、设计结果生成可执行程序运行结果四、程序源代码:DimCChangeAsBooleanDimOldXAsLongDimOldYAsLongDimWwWAsLongDimWwW2AsLongDimHP1AsLongDimHP2AsLongPrivateDeclareFunctionsndPlaySoundLib"winmm"Alias"sndPlaySoundA"(ByVallpszSoundNameAsString,ByValuFlagsAsLong)AsLongPrivateConstSND_ASYNC=&H1PrivateDeclareFunctionGetAsyncKeyStateLib"user32"(ByValvKeyAsLong)AsIntegerDimL(99999)AserfDimL2(99999)AserfDimW(9999)Aserf2Dimw2(9999)Aserf2DimP(9999)Aserf2DimP2(9999)Aserf2PrivateTypePosXAsIntegerYAsIntegerEndTypePrivateTypeerfYAsIntegerColorAsLongEndTypePrivateTypeerf2GrowAsIntegerDamageAsIntegerXAsIntegerYAsIntegerOldXAsIntegerOldYAsIntegerXFAsIntegerYFAsIntegerColorAsLongtypeAsLongtagAsLongactiveAsBooleanSizeAsLongLifeAsIntegerGravAsIntegerEndTypeDimMovementAsIntegerDimTurnAsBooleanPrivateSubCommand1_Click()Turn=TrueEndSubPrivateSubForm_Load()DimTempAsInteger'PickswhichlayoutTemp=MsgBox("Grass-Dirt-Mars",vbYesNoCancel,"?")IfTemp=7ThenMe.BackColor=RGB(40,40,40)EndIfIfTemp=2ThenMe.BackColor=RGB(100,0,0)EndIf'SetsdefaultsMovement=50HP1=100HP2=100Me.Height=Screen.HeightMe.Width=Screen.WidthTurn=TrueMe.ClsMe.Picture=NothingMe.RefreshMe.AutoRedraw=True'SetswheelpositionsFori=0To3W(i).XF=0W(i).YF=0W(i).X=i*10+100W(i).Y=2W(i).Color=RGB(125,125,125)w2(i).XF=0w2(i).YF=0w2(i).X=i*10+Me.ScaleWidth-200w2(i).Y=2w2(i).Color=RGB(125,125,125)NextL(0).Y=Me.ScaleHeight/4*3Randomize'Me.Caption=Temp(DEBUG)'SetsupgroundFori=1ToMe.WidthIfTemp=6ThenL(i).Y=L(i-1).Y+Int(Rnd*4)-Int(Rnd*4)L(i).Color=RGB(0,160+Int(Rnd*25),0)ElseIfTemp=7ThenL(i).Y=L(i-1).Y+Int(Rnd*6)-Int(Rnd*6)L(i).Color=RGB(30+Int(Rnd*25)-Int(Rnd*25),30+Int(Rnd*25)-Int(Rnd*25),0)ElseIfTemp=2ThenL(i).Y=L(i-1).Y+Int(Rnd*8)-Int(Rnd*8)L(i).Color=RGB(160+Int(Rnd*25),0,0)EndIfEndIfEndIfNextFori=0To10IfTemp=6Thenff=Int(Rnd*Screen.Width)BoomInt(ff),0,10,15,0,0,1EndIfIfTemp=7Thenff=Int(Rnd*Screen.Width)BoomInt(ff),0,20,20,0,0,1EndIfIfTemp=2Thenff=Int(Rnd*Screen.Width)BoomInt(ff),0,30,30,0,0,1ff=Int(Rnd*Screen.Width)BoomInt(ff),0,30,30,0,0,1EndIfNextFori=2ToMe.Width-8Step1L(i).Y=(L(i-1).Y+L(i).Y+L(i+1).Y+L(i-2).Y+L(i+2).Y)/5NextMe.AutoRedraw=TrueFori=2ToMe.WidthMe.DrawWidth=3Me.Line(i-2,L(i).Y)-(i-2,Me.ScaleHeight),L(i).ColorNextMe.RefreshMe.AutoRedraw=FalseTimer1.Enabled=TrueEndSubPrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)Movement=50Turn=NotTurnIfTurn=TrueThenShape1.Visible=TrueElseShape2.Visible=TrueEndIfLine1.Visible=TruelblStrength.Visible=TrueOldX=W(0).X'xOldY=W(0).Y'yIfTurn=TrueThenLine1.X1=W(0).X+20Line1.Y1=W(0).Y-30ElseLine1.X1=w2(0).X+20Line1.Y1=w2(0).Y-30EndIfLine1.X2=XLine1.Y2=YIfTurn=TrueThenShape1.Left=Line1.X2-Shape1.Width/2Shape1.Top=Line1.Y2-Shape1.Height/2ElseShape2.Left=Line1.X2-Shape1.Width/2Shape2.Top=Line1.Y2-Shape1.Height/2EndIfDimPos1AsPosDimPos2AsPosPos1.X=Line1.X2Pos2.X=Line1.X1Pos1.Y=Line1.Y2Pos2.Y=Line1.Y1lblStrength.MoveShape1.Left,Shape1.Top-lblStrength.HeightlblStrength.Caption="Strength:"&((Abs(Line1.X1-Line1.X2)+Abs(Line1.Y1-Line1.Y2))/2&"|Angle"&GetAngle(Pos1,Pos2))EndSubPrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfButton<>0ThenLine1.X2=XLine1.Y2=YIf1=1Then'((Abs(Line1.X1-Line1.X2)+Abs(Line1.Y1-Line1.Y2))/2)<150ThenIfTurn=TrueThenLine1.X1=W(0).X+20Line1.Y1=W(0).Y-30ElseLine1.X1=w2(0).X+20Line1.Y1=w2(0).Y-30EndIfLine1.X2=XLine1.Y2=Y'Shape1.Left=Line1.X2-Shape1.Width/2'Shape1.Top=Line1.Y2-Shape1.Height/2IfTurn=TrueThenShape1.Left=Line1.X2-Shape1.Width/2Shape1.Top=Line1.Y2-Shape1.Height/2ElseShape2.Left=Line1.X2-Shape1.Width/2Shape2.Top=Line1.Y2-Shape1.Height/2EndIfIfTurn=TrueThenlblStrength.MoveShape1.Left,Shape1.Top-lblStrength.HeightElselblStrength.MoveShape2.Left,Shape2.Top-lblStrength.HeightEndIfDimPos1AsPosDimPos2AsPosPos1.X=Line1.X2Pos2.X=Line1.X1Pos1.Y=Line1.Y2Pos2.Y=Line1.Y1lblStrength.Caption="Strength:"&((Abs(Line1.X1-Line1.X2)+Abs(Line1.Y1-Line1.Y2))/2&"|Angle"&GetAngle(Pos1,Pos2))EndIfEndIfEndSubPrivateSubNewMissle(XAsInteger,YAsInteger,ColorAsLong,TypeeAsInteger,XFAsInteger,YFAsInteger)'CreatesanewmissleFori=0To99IfP(i).active=FalseThenP(i).X=XP(i).Y=YP(i).XF=XFP(i).YF=YFP(i).type=TypeeP(i).Color=ColorP(i).active=TrueIfTypee=1ThenP(i).Damage=10EndIfIfTypee=2ThenP(i).Damage=30EndIfIfTypee=3ThenP(i).Damage=10EndIfIfTypee=4ThenP(i).Damage=10EndIfIfTypee=5ThenP(i).Damage=5EndIfIfTypee=6ThenP(i).Damage=20EndIfExitSubEndIfNextEndSubPrivateSubForm_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)CallsndPlaySound(ByValApp.Path&"/boom.wav",SND_ASYNC)DimTypeRAsIntegerTypeR=1IfTurn=TrueThen'Zorderswhichammoplayerthing;)z=0Label2(0).ZOrder0Label3(0).ZOrder0Label4(0).ZOrder0Label5(0).ZOrder0Label6(0).ZOrder0Elsez=1Label2(1).ZOrder0Label3(1).ZOrder0Label4(1).ZOrder0Label5(1).ZOrder0Label6(1).ZOrder0EndIfLine1.Visible=FalselblStrength.Visible=FalseIfOption2.Value=TrueThenIfLabel2(z).Caption>0ThenTypeR=2Label2(z).Caption=Label2(z).Caption-1ElseOption1.Value=TrueEndIfEndIfIfOption3.Value=TrueThenIfLabel3(z).Caption>0ThenTypeR=3Label3(z).Caption=Label3(z).Caption-1ElseOption1.Value=TrueEndIfEndIfIfOption4.Value=TrueThenIfLabel4(z).Caption>0ThenTypeR=4Label4(z).Caption=Label4(z).Caption-1ElseOption1.Value=TrueEndIfEndIfIfOption5.Value=TrueThenIfLabel5(z).Caption>0ThenTypeR=5Label5(z).Caption=Label5(z).Caption-1ElseOption1.Value=TrueEndIfEndIfIfOption6.Value=TrueThenIfLabel6(z).Caption>0ThenTypeR=6Label6(z).Caption=Label6(z).Caption-1ElseOption1.Value=TrueEndIfEndIf'Turn=FalseWwW=6IfTurn=TrueThenNewMissleW(0).X+20,W(0).Y-10,vbRed,TypeR,(Line1.X2-Line1.X1)/10,(Line1.Y2-Line1.Y1)/10IfTypeR=4ThenNewMissleW(0).X+20,W(0).Y-10,vbRed,TypeR,(Line1.X2-Line1.X1)/10+Int(Rnd*10)-Int(Rnd*10),(Line1.Y2-Line1.Y1)/10+Int(Rnd*10)-Int(Rnd*10)NewMissleW(0).X+20,W(0).Y-10,vbRed,TypeR,(Line1.X2-Line1.X1)/10+Int(Rnd*10)-Int(Rnd*10),(Line1.Y2-Line1.Y1)/10+Int(Rnd*10)-Int(Rnd*10)NewMissleW(0).X+20,W(0).Y-10,vbRed,TypeR,(Line1.X2-Line1.X1)/10+Int(Rnd*10)-Int(Rnd*10),(Line1.Y2-Line1.Y1)/10+Int(Rnd*10)-Int(Rnd*10)NewMissleW(0).X+20,W(0).Y-10,vbRed,TypeR,(Line1.X2-Line1.X1)/10+Int(Rnd*10)-Int(Rnd*10),(Line1.Y2-Line1.Y1)/10+Int(Rnd*10)-Int(Rnd*10)EndIfElseNewMisslew2(0).X+20,w2(0).Y-10,vbRed,TypeR,(Line1.X2-Line1.X1)/10,(Line1.Y2-Line1.Y1)/10IfTypeR=4ThenNewMisslew2(0).X+20,w2(0).Y-10,vbRed,TypeR,(Line1.X2-Line1.X1)/10+Int(Rnd*10)-Int(Rnd*10),(Line1.Y2-Line1.Y1)/10+Int(Rnd*10)-Int(Rnd*10)NewMisslew2(0).X+20,w2(0).Y-10,vbRed,TypeR,(Line1.X2-Line1.X1)/10+Int(Rnd*10)-Int(Rnd*10),(Line1.Y2-Line1.Y1)/10+Int(Rnd*10)-Int(Rnd*10)NewMisslew2(0).X+20,w2(0).Y-10,vbRed,TypeR,(Line1.X2-Line1.X1)/10+Int(Rnd*10)-Int(Rnd*10),(Line1.Y2-Line1.Y1)/10+Int(Rnd*10)-Int(Rnd*10)NewMisslew2(0).X+20,w2(0).Y-10,vbRed,TypeR,(Line1.X2-Line1.X1)/10+Int(Rnd*10)-Int(Rnd*10),(Line1.Y2-Line1.Y1)/10+Int(Rnd*10)-Int(Rnd*10)EndIfEndIfEndSubPrivateSubBoom(XAsInteger,YAsInteger,SizeAsInteger,digAsInteger,DamAsInteger,OptionalInvertAsInteger,OptionalNoDrawAsInteger)IfX<1ThenExitSubCallsndPlaySound(ByValApp.Path&"/boom2.wav",SND_ASYNC)OnErrorResumeNextIfX+Size/2>w2(0).XAndX-Size/2W(0).XAndX-Size/21ThenFori=2ToMe.WidthStep1IfL2(i).Y<>L(i).YThenL2(i).Y=(L2(i-1).Y+L2(i).Y+L2(i+1).Y+L2(i-2).Y+L2(i+2).Y)/5Me.Line(i-2,0)-(i-2,Me.ScaleHeight),Me.BackColorMe.Line(i-2,L(i).Y)-(i-2,Me.ScaleHeight),L(i).ColorEndIfNextEndIfMe.AutoRedraw=FalseEndSubPrivateSubNewPart(SizeeAsInteger,XAsInteger,YAsInteger,OXAsInteger,OYAsInteger,GrowAsInteger,ColorAsLong,XFAsLong,YFAsLong,LifeAsInteger,GravAsInteger)Fori=0To900IfP2(i).active=FalseThenP2(i).active=TrueP2(i).Size=SizeeP2(i).X=XP2(i).Y=YP2(i).XF=XFP2(i).YF=YFP2(i).OldX=OXP2(i).OldY=OYP2(i).Grow=GrowP2(i).Color=ColorP2(i).Life=LifeP2(i).Grav=GravExitForEndIfNextEndSubPrivateSubTimer1_Timer()IfHP1<0ThenMsgBox"Player2Wins!"HP1=0EndEndIfIfHP2<0ThenMsgBox"Player1Wins!"HP2=0EndEndIfL(2).Y=999Ifhp11.Caption<>"Health:"&HP1Thenhp11.Caption="Health:"&HP1EndIfIfhp22.Caption<>"Health:"&HP2Thenhp22.Caption="Health:"&HP2EndIfIfCChange=TrueThenMe.RefreshEndIfCChange=FalseIfHP1>0ThenIfGetAsyncKeyState(vbKeyRight)ThenMovement=Movement-1CChange=TrueIfMovement>0ThenIfTurn=FalseThenFori=0To3IfL(W(3).X-2).Y-10L(W(i).X-2).YThenW(i).Y=L(W(i).X-2).Y-1EndIfNextElseFori=0To3IfL(w2(3).X-2).Y-10L(w2(i).X-2).YThenw2(i).Y=L(w2(i).X-2).Y-1EndIfNextEndIfEndIfEndIfIfGetAsyncKeyState(vbKeyLeft)ThenMovement=Movement-1CChange=TrueIfMovement>0ThenIfTurn=FalseThenFori=0To3OnErrorResumeNextIfL(W(0).X-2).Y-8L(W(i).X-2).YThenW(i).Y=L(W(i).X-2).Y-1EndIfNextElseFori=0To3OnErrorResumeNextIfL(w2(0).X-2).Y-8L(w2(i).X-2).YThenw2(i).Y=L(w2(i).X-2).Y-1EndIfNextEndIfEndIfEndIfEndIfFori=0To3W(i).X=W(i).X+W(i).XF/2W(i).XF=W(i).XF*0.5Ifi=1ThenIfW(i).Y-20>W(0).YThenW(i).Y=W(0).Y+20W(i).YF=0'W(i).Yf/2W(i).Y=(W(i).Y+W(i+1).Y)/2EndIfEndIfIfi=2ThenIfW(i).Y-20>W(3).YThenW(i).Y=W(3).Y+20W(i).YF=0'W(i).Yf/2EndIfEndIfOnErrorResumeNextIfW(i).Y+W(i).YF3ThenW(i).Y=L(W(i).X-2).Y-1W(i).YF=-W(i).YF*0.5CChange=TrueEndIfEndIfMe.DrawWidth=8Me.Line(W(i).X,W(i).Y)-(W(i).X,W(i).Y),W(i).Colorw2(i).X=w2(i).X+w2(i).XF/2w2(i).XF=w2(i).XF*0.5Ifw2(i).Y+w2(i).YF3Thenw2(i).Y=L(w2(i).X-2).Y-1w2(i).YF=-w2(i).YF*0.5EndIfEndIfMe.DrawWidth=8Me.Line(w2(i).X,w2(i).Y)-(w2(i).X,w2(i).Y),w2(i).ColorNextMe.DrawWidth=1Fori=0To2Forz=0To2IfHP1>0ThenMe.Line(W(i).X,W(i).Y)-(W(i+1).X,W(i+1).Y),vbBlackEndIfMe.Line(w2(i).X,w2(i).Y)-(w2(i+1).X,w2(i+1).Y),vbBlackNextNextIfHP1>0ThenMe.Line(W(0).X,W(0).Y)-(W(0).X,W(0).Y-15),vbBlackMe.Line(W(3).X,W(3).Y)-(W(3).X,W(3).Y-15),vbBlackMe.Line(W(0).X,W(0).Y-5)-(W(3).X,W(3).Y-5),vbBlackEndIfMe.Line(w2(0).X,w2(0).Y)-(w2(0).X,w2(0).Y-15),vbBlackMe.Line(w2(3).X,w2(3).Y)-(w2(3).X,w2(3).Y-15),vbBlackMe.Line(w2(0).X,w2(0).Y-5)-(w2(3).X,w2(3).Y-5),vbBlackForF=0To15Step2IfHP1>0ThenMe.Line(W(0).X,W(0).Y-F)-(W(3).X,W(3).Y-F),RGB(122,122,122)EndIfMe.Line(w2(0).X,w2(0).Y-F)-(w2(3).X,w2(3).Y-F),RGB(122,122,122)NextF=15IfHP1>0ThenMe.Line(W(0).X,W(0).Y-F)-(W(3).X,W(3).Y-F),vbBlackEndIfMe.Line(w2(0).X,w2(0).Y-F)-(w2(3).X,w2(3).Y-F),vbBlack'ddddddddddddddFori=0To300IfP2(i).active=TrueThenCChange=TrueMe.DrawWidth=P2(i).SizeIfCheck1.Value=1ThenMe.Line(P2(i).X,P2(i).Y)-(P2(i).OldX,P2(i).OldY),P2(i).ColorEndIfP2(i).OldX=P2(i).XP2(i).OldY=P2(i).YP2(i).Life=P2(i).Life-1P2(i).Size=P2(i).Size+P2(i).GrowP2(i).X=P2(i).X+P2(i).XFP2(i).YF=P2(i).YF+P2(i).GravP2(i).Y=P2(i).Y+P2(i).YFIfP2(i).Life<=0ThenP2(i).active=FalseEndIfEndIfNextFori=0To3IfAbs(W(i).YF)>3OrAbs(W(i).XF)>3ThenCChange=TrueEndIfIfAbs(w2(i).YF)>3OrAbs(w2(i).XF)>3ThenCChange=TrueEndIfNextFori=0To90IfP(i).active=TrueThenttt=100+Int(Rnd*40)NewPart5,P(i).X+Int(Rnd*10)-Int(Rnd*10),P(i).Y+Int(Rnd*10)-Int(Rnd*10),P(i).X,P(i).Y,7,RGB(ttt,ttt,ttt),0,0,8,0CChange=TrueMe.DrawWidth=3P(i).YF=P(i).YF+1P(i).OldX=P(i).XP(i).OldY=P(i).YP(i).X=P(i).X+P(i).XFP(i).Y=P(i).Y+P(i).YFOnErrorResumeNextIfP(i).Y+P(i).YF>L(P(i).X-2).YThenP(i).active=FalseIfP(i).type<>5ThenIfP(i).X>0ThenNewPart40,P(i).X,P(i).Y+20,P(i).X,P(i).Y+20,5,RGB(200+Int(Rnd*10),0,0),0,0,30,0NewPart20,P(i).X,P(i).Y+20,P(i).X,P(i).Y+20,5,RGB(190+Int(Rnd*50),30+Int(Rnd*50),0),0,0,30,0NewPart5,P(i).X,P(i).Y+20,P(i).X,P(i).Y+20,4,RGB(200+Int(Rnd*55),200+Int(Rnd*55),0),0,0,30,0EndIfEndIfIfP(i).X>0ThenNewPart8+Int(Rnd*3)-Int(Rnd*3),P(i).X,P(i).Y,P(i).X,P(i).Y,0,L(P(i).X-2).Color,Int(Rnd*10)-Int(Rnd*10),-10+-Int(Rnd*10),30+Int(Rnd*6)-Int(Rnd*6),1NewPart8+Int(Rnd*3)-Int(Rnd*3),P(i).X,P(i).Y,P(i).X,P(i).Y,0,L(P(i).X-2).Color,Int(Rnd*10)-Int(Rnd*10),-10+-Int(Rnd*10),30+Int(Rnd*6)-Int(Rnd*6),1NewPart8+Int(Rnd*3)-Int(Rnd*3),P(i).X,P(i).Y,P(i).X,P(i).Y,0,L(P(i).X-2).Color,Int(Rnd*10)-Int(Rnd*10),-10+-Int(Rnd*10),30+Int(Rnd*6)-Int(Rnd*6),1NewPart8+Int(Rnd*3)-Int(Rnd*3),P(i).X,P(i).Y,P(i).X,P(i).Y,0,L(P(i).X-2).Color,Int(Rnd*10)-Int(Rnd*10),-10+-Int(Rnd*10),30+Int(Rnd*6)-Int(Rnd*6),1NewPart8+Int(Rnd*3)-Int(Rnd*3),P(i).X,P(i).Y,P(i).X,P(i).Y,0,L(P(i).X-2).Color,Int(Rnd*10)-Int(Rnd*10),-10+-Int(Rnd*10),30+Int(Rnd*6)-Int(Rnd*6),1EndIfIfP(i).type=1ThenBoomP(i).X-2,P(i).Y,30,35,P(i).DamageEndIfIfP(i).type=2ThenBoomP(i).X-2,P(i).Y,40,60,P(i).DamageEndIfIfP(i).type=3ThenBoomP(i).X-2,P(i).Y,10,20,P(i).DamageIfP(i).tag<3ThenP(i).active=TrueP(i).YF=-P(i).YF*1P(i).XF=0P(i).tag=P(i).tag+1ElseP(i).tag=0EndIfEndIfIfP(i).type=4ThenBoomP(i).X-2,P(i).Y,20,20,P(i).DamageEndIfIfP(i).type=5ThenBoomP(i).X-2,P(i).Y,10,60,P(i).Damage,1EndIfIfP(i).type=0ThenBoomP(i).X-2,P(i).Y,30,350,P(i).DamageEndIfIfP(i).type=6ThenBoomP(i).X-2,P(i).Y,30,30,P(i).DamageNewMissleP(i).X,P(i).Y-10,vbRed,1,Int(Rnd*20)-Int(Rnd*20),-5+Int(Rnd*10)-Int(Rnd*10)NewMissleP(i).X,P(i).Y-10,vbRed,1,Int(Rnd*20)-Int(Rnd*20),-5+Int(Rnd*10)-Int(Rnd*10)NewMissleP(i).X,P(i).Y-10,vbRed,1,Int(Rnd*20)-Int(Rnd*20),-10+Int(Rnd*10)-Int(Rnd*10)EndIfEndIfMe.DrawWidth=3Me.Line(P(i).X,P(i).Y)-(P(i).OldX,P(i).OldY),P(i).ColorEndIfNextEndSubPrivateFunctionGetAngle(PosAsPos,CenterPosAsPos)AsIntegerDimintAAsInteger,intB%,intC%DimPIAsDoublePI=Atn(1)*4intB=Abs(CenterPos.X-Pos.X)intC=Abs(CenterPos.Y-Pos.Y)IfintB<>0ThenGetAngle=Atn(intC/intB)*180/PIEndIfIfPos.XCenterPos.YThenGetAngle=180+GetAngleEndIfEndIfIfPos.X>CenterPos.XThenIfPos.Y>CenterPos.YThenGetAngle=360-GetAngleEndIfEndIfIfPos.X=CenterPos.XThenIfPos.YCenterPos.YThenGetAngle=270EndIfEndIfGetAngle=Abs(GetAngleMod360)EndFunctionPrivateSubTimer2_Timer()'//Clouds,notfullyworkingsoremoved'NewPart20,-40,100,-40,-40,0,vbWhite,6,0,200,0'NewPart23,-50,90,-40,-40,0,vbWhite,6,0,200,0EndSub五、设计总结经过这学期VB的学习,使我对VB有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,虽然学校开的VB是选修课,但它的实用性和通用性很强大,不比学过的C语言差,因为是面向对象,所以很直观,学习中也可以发现很多乐趣,也激起了学习VB的兴趣;因为是初学,对VB的一些 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对VB中经常出现的错误也不了解,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,为了适应信息化时代的需求,各高校对大多数专业都开设了一定的计算机语言课程,有的讲授VisualBasic语言。VisualBasic以其语法简单,可视化设计,功能强大,为许多学校计算机语言课程的首选语言,同时也为以后的计算机语言的学习打下基础。六.参考文献《VisualBasic程序设计(第2版)》李雁翎主编清华大学出版
本文档为【vb程序游戏设计-36页文档资料】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
rabbit
我是一名高中英语老师 有着丰厚的教学经验,曾经担任过学校教学教研组组长,撰写过很多论文和期刊
格式:doc
大小:175KB
软件:Word
页数:37
分类:初中语文
上传时间:2022-02-11
浏览量:2