VB做游戏排行榜
创始人
2024-11-26 01:05:02
0

大家好,如果您还对VB做游戏排行榜不太了解,没有关系,今天就由本站为大家分享VB做游戏排行榜的知识,包括VB可以做什么游戏的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

一、用VB怎么做一个小游戏啊

1、'定义运动区域4个禁区的枚举值

2、'定义蛇头及身体初始化数枚举值

3、Private Const SNAKEWIDTH As Integer= 100

4、 Me.lblTitle="BS贪食蛇—(版本"& App.Major&"."& App.Minor&"."& App.Revision&")"

5、 Me.Caption= Me.lblTitle.Caption

6、'该过程用于使窗体恢复原始大小

7、 If Me.WindowState<> 1 Then

8、 Me.Height= 6405'窗体高度为 6405缇

9、 Me.Width= 8535'窗体宽度为 8535缇

10、 Me.Left=(Screen.Width- Width)\ 2

11、 Me.Top=(Screen.Height- Height)\ 2

12、'该过程用于重新开始开始游戏

13、Private Sub cmdGameStart_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

14、 msg= MsgBox("您确认要重新开始游戏吗?", 4+ 32,"BS贪食蛇")

15、 If msg= 6 Then Call m_subGameInitialize

16、Private Sub chkPause_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

17、 If Me.chkPause.Caption="暂停游戏(&P)" Then

18、 Me.tmrSnakeMove.Enabled= False

19、 Me.tmrGameTime.Enabled= False

20、 Me.picMoveArea.Enabled= False

21、 Me.chkPause.Caption="继续游戏(&R)"

22、 Me.tmrSnakeMove.Enabled= True

23、 Me.lblPauseLab.Visible= False

24、 Me.chkPause.Caption="暂停游戏(&P)"

25、Private Sub cmdGameRules_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

26、 MsgBox" BS贪食蛇:一个规则最简单的趣味游戏,您将用键盘"& Chr(13)& _

27、"上的4个方向键来控制蛇的运动方向。在运动过程中蛇"& Chr(13)& _

28、"不能后退,蛇的头部也不能接触到运动区域的边线以外"& Chr(13)& _

29、"和蛇自己的身体,否则就游戏失败。在吃掉随机出现的"& Chr(13)& _

30、"果子后,蛇的身体会变长,越长难度越大。祝您好运!!", 0+ 64,"游戏规则"

31、'该过程用于显示游戏开发信息

32、Private Sub cmdAbout_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

33、 MsgBox"BS贪食蛇"&"(V-"& App.Major&"."& App.Minor&"版本)"& Chr(13)& Chr(13)& _

34、"由PigheadPrince设计制作"& Chr(13)& _

35、"CopyRight(C)2002,BestSoft.TCG", 0,"关于本游戏"

36、Private Sub cmdExit_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

37、 msg= MsgBox("您要退出本游戏吗?", 4+ 32,"BS贪食蛇")

38、 Me.chkWindowButton(2).Value= 0

39、'该过程用于拖动窗体_(点击图标)

40、Private Sub imgWindowTop_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

41、 SendMessage Me.hwnd, WM_SYSCOMMAND, SC_MOVE, 0

42、'该共用过程用于处理窗体控制按钮组的相关操作_(锁定、最小化、退出)

43、Private Sub chkWindowButton_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)

44、 If Button<> 1 Then Exit Sub

45、 If Me.chkWindowButton(0).Value= 1 Then

46、 Me.imgWindowTop.BorderStyle= 0

47、 Me.imgWindowTop.Enabled= False

48、 Me.imgWindowTop.BorderStyle= 1

49、 Me.imgWindowTop.Enabled= True

50、 Me.chkWindowButton(1).Value= 0

51、 Me.Caption="BS贪食蛇—(V-"& App.Major&"."& App.Minor&"版本)"

52、 msg= MsgBox("您要退出本游戏吗?", 4+ 32,"BS贪食蛇")

53、 Me.chkWindowButton(2).Value= 0

54、'该过程用于设置蛇运动速度的快慢

55、Private Sub hsbGameSpeed_Change()

56、 Me.tmrSnakeMove.Interval= Me.hsbGameSpeed.Value

57、'该过程用于通过键盘的方向键改变蛇的运动方向

58、Private Sub picMoveArea_KeyDown(KeyCode As Integer, Shift As Integer)

59、 If KeyCode= D_DOWN Then Exit Sub

60、 If KeyCode= D_UP Then Exit Sub

61、 If KeyCode= D_RIGHT Then Exit Sub

62、 If KeyCode= D_LEFT Then Exit Sub

63、'该计时循环过程用于计算游戏耗费的秒数并显示

64、Private Sub tmrGameTime_Timer()

65、 g_lngGameTime= g_lngGameTime+ 1

66、 Me.lblGameTime.Caption= g_lngGameTime&"秒"

67、'该计时循环过程用于控制蛇的行动轨迹

68、Private Sub tmrSnakeMove_Timer()

69、 Dim lngSnakeX As Long, lngSnakeY As Long, lngSnakeColor As Long

70、 Dim lngPointX As Long, lngPointY As Long, lngPointColor As Long

71、'确认蛇头的运动方向并获取新的位置

72、 g_udtSnake(SNAKEONE).Snake_CurX= g_udtSnake(SNAKEONE).Snake_OldX

73、 g_udtSnake(SNAKEONE).Snake_CurY= g_udtSnake(SNAKEONE).Snake_OldY

74、 g_udtSnake(SNAKEONE).Snake_CurY= g_udtSnake(SNAKEONE).Snake_CurY- SNAKEWIDTH

75、 g_udtSnake(SNAKEONE).Snake_CurX= g_udtSnake(SNAKEONE).Snake_OldX

76、 g_udtSnake(SNAKEONE).Snake_CurY= g_udtSnake(SNAKEONE).Snake_OldY

77、 g_udtSnake(SNAKEONE).Snake_CurY= g_udtSnake(SNAKEONE).Snake_CurY+ SNAKEWIDTH

78、 g_udtSnake(SNAKEONE).Snake_CurX= g_udtSnake(SNAKEONE).Snake_OldX

79、 g_udtSnake(SNAKEONE).Snake_CurX= g_udtSnake(SNAKEONE).Snake_CurX- SNAKEWIDTH

80、 g_udtSnake(SNAKEONE).Snake_CurY= g_udtSnake(SNAKEONE).Snake_OldY

81、 g_udtSnake(SNAKEONE).Snake_CurX= g_udtSnake(SNAKEONE).Snake_OldX

82、 g_udtSnake(SNAKEONE).Snake_CurX= g_udtSnake(SNAKEONE).Snake_CurX+ SNAKEWIDTH

83、 g_udtSnake(SNAKEONE).Snake_CurY= g_udtSnake(SNAKEONE).Snake_OldY

84、 lngSnakeX= g_udtSnake(SNAKEONE).Snake_CurX

85、 lngSnakeY= g_udtSnake(SNAKEONE).Snake_CurY

86、 lngSnakeColor= g_udtSnake(SNAKEONE).Snake_Color

87、 Me.picMoveArea.PSet(lngSnakeX, lngSnakeY), lngSnakeColor

88、 g_udtSnake(i).Snake_CurX= g_udtSnake(i- 1).Snake_OldX

89、 g_udtSnake(i).Snake_CurY= g_udtSnake(i- 1).Snake_OldY

90、 lngSnakeX= g_udtSnake(i).Snake_CurX

91、 lngSnakeY= g_udtSnake(i).Snake_CurY

92、 lngSnakeColor= g_udtSnake(i).Snake_Color

93、 Me.picMoveArea.PSet(lngSnakeX, lngSnakeY), lngSnakeColor

94、 g_udtSnake(j).Snake_OldX= g_udtSnake(j).Snake_CurX

95、 g_udtSnake(j).Snake_OldY= g_udtSnake(j).Snake_CurY

96、'判断蛇在移动中是否到了禁区而导致游戏失败

97、 If m_funMoveForbiddenZone(g_udtSnake(SNAKEONE).Snake_CurX, g_udtSnake(SNAKEONE).Snake_CurY) Then

98、 MsgBox"您的蛇移动到了禁区,游戏失败!", 0+ 16,"BS贪食蛇"

99、 Me.tmrSnakeMove.Enabled= False

100、 Me.tmrGameTime.Enabled= False

101、 Me.picMoveArea.Visible= False

102、'判断蛇在移动中是否碰到了自己的身体而导致游戏失败

103、 If m_funTouchSnakeBody(g_udtSnake(SNAKEONE).Snake_CurX, g_udtSnake(SNAKEONE).Snake_CurY) Then

104、 MsgBox"您的蛇在移动中碰到了自己的身体,游戏失败!", 0+ 16,"BS贪食蛇"

105、 Me.tmrSnakeMove.Enabled= False

106、 Me.tmrGameTime.Enabled= False

107、 Me.picMoveArea.Visible= False

108、 If m_funEatPoint(g_udtSnake(SNAKEONE).Snake_CurX, g_udtSnake(SNAKEONE).Snake_CurY) Then

109、'累加玩家的得分并刷新得分显示

110、 g_intPlayerScore= g_intPlayerScore+ 1

111、 Me.lblYourScore.Caption= g_intPlayerScore&"分"

112、 Call m_subAddSnake'加长蛇的身体

113、 Call m_subGetPoint'获取下一个果子的位置和颜色

114、 lngPointX= g_udtPoint.Point_X

115、 lngPointY= g_udtPoint.Point_Y

116、 lngPointColor= g_udtPoint.Point_Color

117、 Me.picMoveArea.PSet(lngPointX, lngPointY), lngPointColor

118、'该私有子过程用于初始化游戏

119、Private Sub m_subGameInitialize()

120、 Erase g_udtSnake'清空蛇的结构数组

121、 g_intPlayerScore= 0'清空玩家的得分

122、 g_lngGameTime= 0'清空游戏耗费的秒数

123、 g_intDirection= D_DOWN'设定蛇的初始运动方向为下

124、 g_intSnakeLength= 4'设定蛇的初始长度

125、 ReDim g_udtSnake(1 To g_intSnakeLength)'重新定义蛇的长度

126、 Me.lblYourScore.Caption= g_intPlayerScore&"分"

127、 Me.lblGameTime.Caption= g_lngGameTime&"秒"

128、 Me.tmrSnakeMove.Interval= Me.hsbGameSpeed.Value

129、 Me.tmrSnakeMove.Enabled= True

130、 Call m_subGetPoint'获取第一个果子的位置和颜色

131、'该私有子过程用于返回获取的果子的位置和颜色信息

132、 Dim lngRedValue As Long, lngGreenValue As Long, lngBlueValue As Long

133、 Dim lngPointX As Long, lngPointY As Long, lngPointColor As Long

134、 lngRedValue= Int((255- 0+ 1)* Rnd+ 0)

135、 lngGreenValue= Int((255- 0+ 1)* Rnd+ 0)

136、 lngBlueValue= Int((255- 0+ 1)* Rnd+ 0)

137、 lngPointColor= RGB(lngRedValue, lngGreenValue, lngBlueValue)

138、 lngPointX= Int((FZ_LEFT- FZ_RIGHT+ 1)* Rnd+ FZ_RIGHT)

139、 lngPointY= Int((FZ_TOP- FZ_BOTTOM+ 1)* Rnd+ FZ_BOTTOM)

140、 Me.PSet(lngPointX, lngPointY), lngPointColor

141、'该私有子过程用于加长蛇的身体

142、 Dim lngSnakeX As Long, lngSnakeY As Long, lngSnakeColor As Long

143、'备份蛇原先身体的数据并使蛇的身体加长

144、 ReDim udtSnakeTemp(1 To g_intSnakeLength)

145、.Snake_CurX= g_udtSnake(k).Snake_CurX

146、.Snake_CurY= g_udtSnake(k).Snake_CurY

147、.Snake_OldX= g_udtSnake(k).Snake_OldX

148、.Snake_OldY= g_udtSnake(k).Snake_OldY

149、.Snake_Color= g_udtSnake(k).Snake_Color

150、 g_intSnakeLength= g_intSnakeLength+ 1

151、 ReDim g_udtSnake(g_intSnakeLength)

152、'将备份蛇身体的数据返回到加长的蛇身数组中

153、 For l= 1 To g_intSnakeLength- 1

154、.Snake_CurX= udtSnakeTemp(l).Snake_CurX

155、.Snake_CurY= udtSnakeTemp(l).Snake_CurY

156、.Snake_OldX= udtSnakeTemp(l).Snake_OldX

157、.Snake_OldY= udtSnakeTemp(l).Snake_OldY

158、.Snake_Color= udtSnakeTemp(l).Snake_Color

159、 With g_udtSnake(g_intSnakeLength)

160、.Snake_OldX= g_udtSnake(g_intSnakeLength- 1).Snake_CurX+ SNAKEWIDTH

161、.Snake_OldY= g_udtSnake(g_intSnakeLength- 1).Snake_CurY

162、.Snake_Color= g_udtPoint.Point_Color

163、 With g_udtSnake(g_intSnakeLength)

164、.Snake_OldX= g_udtSnake(g_intSnakeLength- 1).Snake_CurX- SNAKEWIDTH

165、.Snake_OldY= g_udtSnake(g_intSnakeLength- 1).Snake_CurY

166、.Snake_Color= g_udtPoint.Point_Color

167、 With g_udtSnake(g_intSnakeLength)

168、.Snake_OldX= g_udtSnake(g_intSnakeLength- 1).Snake_CurX

169、.Snake_OldY= g_udtSnake(g_intSnakeLength- 1).Snake_CurY+ SNAKEWIDTH

170、.Snake_Color= g_udtPoint.Point_Color

171、 With g_udtSnake(g_intSnakeLength)

172、.Snake_OldX= g_udtSnake(g_intSnakeLength- 1).Snake_CurX

173、.Snake_OldY= g_udtSnake(g_intSnakeLength- 1).Snake_CurY- SNAKEWIDTH

174、.Snake_Color= g_udtPoint.Point_Color

175、 lngSnakeX= g_udtSnake(g_intSnakeLength).Snake_CurX

176、 lngSnakeY= g_udtSnake(g_intSnakeLength).Snake_CurY

177、 lngSnakeColor= g_udtSnake(g_intSnakeLength).Snake_Color

178、 Me.picMoveArea.PSet(lngSnakeX, lngSnakeY), lngSnakeColor

179、'该自定义函数用于返回运动的蛇是否到达禁区而导致游戏失败

180、Private Function m_funMoveForbiddenZone(SnakeX As Long, SnakeY As Long) As Boolean

181、 If(SnakeX>= FZ_LEFT And SnakeX<= FZ_RIGHT) And(SnakeY>= FZ_TOP And SnakeY<= FZ_BOTTOM) Then

182、 m_funMoveForbiddenZone= False

183、'该自定义函数用于返回运动的蛇是否碰到自己的身体而导致游戏失败

184、Private Function m_funTouchSnakeBody(SnakeX As Long, SnakeY As Long) As Boolean

185、 If SnakeX= g_udtSnake(m).Snake_CurX And SnakeY= g_udtSnake(m).Snake_CurY Then

186、'该自定义函数用于返回运动的蛇是否吃到了果子

187、Private Function m_funEatPoint(SnakeX As Long, SnakeY As Long) As Boolean

188、 If Abs(SnakeX- g_udtPoint.Point_X)<= SNAKEWIDTH And Abs(SnakeY- g_udtPoint.Point_Y)<= SNAKEWIDTH Then

189、'(API函数调用过程_用以实现无标题窗体的拖动操作)---------------------------------

190、'RleaseCapture函数用以释放鼠标捕获

191、 Public Declare Function ReleaseCapture Lib"user32"() As Long

192、'SendMessage函数用作向Windows发送移动窗体的消息

193、 Public Declare Function SendMessage Lib"user32" Alias"SendMessageA"(ByVal hwnd As _

194、 Long, ByVal wMsg As Long, ByVal wParam As Long, IParam As Any) As Long

195、 Public Const WM_SYSCOMMAND=&H112'声明向Windows发送消息的常量

196、 Public Const SC_MOVE=&HF012'声明控制移动窗体常量

197、'(游戏变量声明部分)-------------------------------------------------------------

198、 Public g_intSnakeLength As Integer

199、 Public g_lngSnakeColor As Long

200、 Public g_intDirection As Integer

201、 Public g_intPlayerScore As Integer

二、VB可以做什么游戏

理论上讲,VB可以做任何游戏,游戏开发不是一言两语能说明白的,在这里可以给你简单的说一下,具体开发方法请仔细百度。

开发游戏你需要解决四个技术问题:

1:图像绘制。2:声音播放。3:用户输入控制。4:文件的读写。

其中2、3、4基本可以用VB的基础语言功能和操作系统提供的API解决,唯独绘图需要引擎来解决。除非是很小的小游戏,否则你不太可能用系统控件去做一个游戏,你也不能天才到啥都自己实现出来,你就算有那么天才,也没那个时间精力,也没有必要。做游戏用的绘图引擎一般是GDI或DIRECTX或OPENGL。VB6可以使用GDI或DIRECTX7、8,VB.net可以使用DIRECTX9以上的版本。其中GDI可以用来开发2D游戏,DIRECTX可以用于开发任何类型游戏,DIRECTX不但可以用来绘图,其还包含解决游戏中联网、用户输入控制、声音播放的专用模块推荐使用。

三、我想用VB和3DSMAX一起做一个简单的3D小游戏,请问怎么做

其实做3D游戏大部分都是代码,3Dmax只是做模型的。用程序贴上材质。+759812246。这里推荐下truevision3d 3D引擎。有很多中文教程贴上最简单的源码:忘了说,用vb6.0

Private TV As TVEngine'声明TV3D引擎对象

Private Scene As TVScene'声明场景TVScene对象

Private Mesh As TVMesh'声明网格TVMesh对象

Private InputE As TVInputEngine'声明输入(键盘、鼠标)对象

Set TV= New TVEngine'定义TV对象为TVEngine类的一个实例

TV.Init3DWindowedMode Form1.hWnd'调用TV3D的一个函数Init3DWindowedMode,初始化3D窗口。参数是当前窗口的句柄

Set InputE= New TVInputEngine'定义InputE对象为TVInputEngine类的一个实例

Set Scene= New TVScene'定义Scene对象为TVScene的一个实例

Set Mesh= Scene.CreateMeshBuilder'定义Mesh对象为TVMesh的一个实例,用Scene的CreateMeshBuilder方法生成

Scene.SetSceneBackGround 1, 0, 0'设置背景颜色

Mesh.CreateTeapot'建立茶壶模型

Mesh.SetPosition 0, 0, 10'Z越小,图像越大

DoEvents'用DoEvents函数,让Windows空出来作别的事

TV.Clear'清除缓冲区的内容

Mesh.Render'渲染Mesh(3D物件)

TV.RenderToScreen'把缓冲区的内容渲染到屏幕上

Loop Until InputE.IsKeyPressed(TV_KEY_ESCAPE)'直到用户按下了Esc,游戏终止运行

Set InputE= Nothing'释放InputE对象所占用的内存空间

Set TV= Nothing'释放TV对象所占用的内存空间

好了,文章到这里就结束啦,如果本次分享的VB做游戏排行榜和VB可以做什么游戏问题对您有所帮助,还望关注下本站哦!

相关内容

热门资讯

ios黄油游戏排行榜 各位老铁们,大家好,今天由我来为大家分享ios黄油游戏排行榜,以及手机黄油有哪些推荐的相关问题知识,...
黑魔法游戏提高知识和修养 一、哥特风游戏《黑魔法》怎么玩洗完之后选择去晚餐室吃些东西。吃完饭之后去浴室可以解锁剧情,去卧室睡觉...
游泳安全知识游戏 一、游泳的安全知识有哪些1,必须在家长(监护人)的带领下去游泳。单身一人去游泳最容易出问题,如果你的...
没点知识怎么玩游戏呢图片 一、不上班,吃外卖,整天玩游戏的人是靠什么生活的身边恰好就有这样一个女生朋友,从一起毕业出来上班到目...
丰富知识英文游戏推荐一下 一、我知道游戏很好玩的英文下载地址:类型:安卓游戏-益智休闲版本:v1.1.2大小:27.00M语言...
竞答游戏知识 一、关于答题的游戏有哪些答题的游戏有一站到底pk版,微信成语猜猜看,问答RPG魔法使与黑猫维兹,挑战...
电脑游戏相关知识点归纳 一、二年级数学下册知识点归纳学习的成功与失败原因是多方面的,要首先从自己身上找原因,才能受到鼓舞,找...
知识比赛类游戏 一、求一个响亮而有文采的百科知识竞赛活动的名称求一个响亮而有文采的百科知识竞赛活动的名称 1、知识百...
二年级下册趣味知识游戏 一、二年级下册数学广角推理(二)趣味乐园挖地雷原问题:答案:扩展资料主要考察的是平均数的知识点:表示...
传奇游戏制作基础知识是什么 一、传奇是什么游戏呵呵哥们算你问对人了我就是传奇的忠实粉丝他的全名叫热血传奇是2001年推出的一款基...