vb可以设计知识问答小游戏吗
创始人
2024-11-04 01:30:04
0

一、如何设计一个很简单的VB程序小游戏

利用vb控件做个坦克大战类的游戏即可,炮弹和坦克都用控件实现就行。唯一难点是控制控件移动以及炮弹击中目标的碰撞检测判断。给你一个简单实现代码

这是一种碰撞检测方法,下述属于简化的矩形碰撞检测,若是需要复杂碰撞可以用一个数组来记录大量需要碰撞检测的物体

image1里读入坦克的图片

image2里读入地雷的图片

然后用下面代码即可实现

Private

Sub

Form_KeyPress(KeyAscii

As

Integer)

'按键盘A和D键控制猫图片image1左右移动

If

KeyAscii

=

97

Then

Image1.Left

=

Image1.Left

-

10

If

KeyAscii

=

100

Then

Image1.Left

=

Image1.Left

+

10

'如果坦克图片与地雷图片相遇则提示碰撞到了

If

Image1.Left

+

Image1.Width

>

Image2.Left

Then

If

Image1.Left

<

Image2.Left

+

Image2.Width

Then

If

Image1.Top

+

Image1.Height

>

Image2.Top

Then

If

Image1.Top

<

Image2.Top

+

Image2.Height

Then

MsgBox

"坦克碰到地雷,已经被炸毁了"

End

If

End

If

End

If

End

If

End

Sub

二、怎样用VB编写打字小游戏

我2年前写的,有点幼稚。别见笑

VERSION 5.00

Begin VB.Form Form1

AutoRedraw=-1'True

Caption="打字游戏小游戏而已"

ClientHeight= 4800

ClientLeft= 60

ClientTop= 750

ClientWidth= 5610

LinkTopic="Form1"

ScaleHeight= 4800

ScaleWidth= 5610

StartUpPosition= 1'所有者中心

Begin VB.Timer Timer1

Left= 0

Top= 3600

End

Begin VB.Label Label1

Caption="Label1"

Height= 735

Index= 0

Left= 1320

TabIndex= 0

Top= 600

Width= 855

End

Begin VB.Menu MenuGame

Caption="数量(&N)"

Index= 0

End

Begin VB.Menu MenuGame

Caption="速度(&P)"

Index= 1

End

Begin VB.Menu MenuGame

Caption="重置(&R)"

Index= 2

End

Begin VB.Menu MenuGame

Caption="开始(&S)"

Index= 3

End

Begin VB.Menu MenuGame

Caption="输赢(&W)"

Index= 4

End

Begin VB.Menu MenuGame

Caption="帮助(&H)"

Index= 5

End

End

Attribute VB_Name="Form1"

Attribute VB_GlobalNameSpace= False

Attribute VB_Creatable= False

Attribute VB_PredeclaredId= True

Attribute VB_Exposed= False

Dim StartPause As Boolean

Dim n As Integer

Dim Speed As Integer

Dim Down As Integer, Hit As Integer

Dim DownLost As Integer, HitWin As Integer

Rem自定义函数效率不高啊。。。

Private Sub Form_Initialize()

Speed= 10

DownLost= 100

HitWin= 100

End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

Randomize

For Index= 0 To n

If Chr(KeyCode)= Label1(Index).Caption Then

With Label1(Index)

.Top= Me.ScaleTop

.Caption= Chr(Int(Rnd* 26)+ 65)

.Left= Rnd*(Me.ScaleWidth- Label1(Index).Width)

.ForeColor= RGB(Rnd* 255, Rnd* 255, Rnd* 255)

End With

Hit= Hit+ 1

Me.Caption="打字游戏"&"掉落:"& Down&"命中:"& Hit

End If

Next Index

End Sub

Private Sub Form_Load()

On Error Resume Next

Timer1.Interval= 10

Timer1.Enabled= False

Randomize

With Label1(0)

.Top= Me.ScaleTop

.Caption= Chr(Int(Rnd* 26)+ 65)

.ForeColor= RGB(Rnd* 255, Rnd* 255, Rnd* 255)

.Left= Rnd*(Me.ScaleWidth- Label1(0).Width)

.FontSize= 30

.BackStyle= 0

End With

For Index= 1 To n

Load Label1(Index)

With Label1(Index)

.Visible= True

.FontSize= 30

.BackStyle= 0

.Top= Me.ScaleTop

.Caption= Chr(Int(Rnd* 26)+ 65)

.Left= Rnd*(Me.ScaleWidth- Label1(Index).Width)

.ForeColor= RGB(Rnd* 255, Rnd* 255, Rnd* 255)

End With

Next Index

End Sub

Private Sub MenuGame_Click(Index As Integer)

On Error Resume Next

Select Case Index

Case 0

n= Int(InputBox("输入数量,建议输入1至5,如果输入0或者按取消,将会去缺省值1","输入数量")- 1)

Form_Load

StartPause= False: MenuGame(3).Caption="开始(&S)"

Case 1

Speed= Int(Val(InputBox("输入速度参数,建议5-20,如果输入0或按取消,将会取缺省值0,就是不会移动","输入速度参数")))

Timer1.Enabled= False

StartPause= False: MenuGame(3).Caption="开始(&S)"

Case 2

Hit= 0

Down= 0

Form_Load

StartPause= False: MenuGame(3).Caption="开始(&S)"

Case 3

StartPause= Not StartPause

If StartPause= True Then

MenuGame(3).Caption="暂停(&P)"

Timer1.Enabled= True

ElseIf StartPause= False Then

MenuGame(3).Caption="开始(&S)"

Timer1.Enabled= False

End If

Case 4

HitWin= Int(InputBox("输入数字,当命中数等于该数时即为胜利。","输入数字"))

DownLost= Int(InputBox("输入数字,当掉落数等于该数时即为胜利。","输入数字"))

Case 5

MsgBox"目前没有编辑帮助"

End Select

End Sub

Private Sub Timer1_Timer()

Randomize

For Index= 0 To n

Label1(Index).Top= Label1(Index).Top+ Speed

If Label1(Index).Top>= Me.ScaleHeight Then

With Label1(Index)

.Top= Me.ScaleTop

.Caption= Chr(Int(Rnd* 26)+ 65)

.Left= Rnd*(Me.ScaleWidth- Label1(Index).Width)

.ForeColor= RGB(Rnd* 255, Rnd* 255, Rnd* 255)

End With

Down= Down+ 1

Me.Caption="打字游戏"&"掉落"& Down&"命中"& Hit

End If

Next Index

If Down>= DownLost Then MsgBox"你输啦!", vbOKOnly,"You lost": End

If Hit>= HitWin Then MsgBox"你赢啦!", vbOKOnly,"You Win": End

End Sub

三、用vb做一个小游戏 希望每一步有详细解释

做个贪吃蛇,flppy bird,纵向像素赛车,推箱子,水果机

这些都不难,运用到一些特殊游戏算法,

贪吃蛇:创建pictureBox控件数组,然后加身子就load picture1(picture1.UBound+1)

在声明一个动态数2d数组,每个身子都有一个X,Y值每移动一次贪吃蛇,头部先走一步后面的身子就向前一个身子的位置X,Y移动

flppy bird:运用到加速度,重力物理学,以及柱子的碰撞检测

纵向赛车:随机下来几个pictureBox,如果有方块的纵坐标超过了一定量,那就再从顶部开始下滑(呈现赛车相对几个障碍物向上走的视觉效应)

推箱子:这个实现起来不容易,要把每一次箱子的位置映像成2D数组,然后根据2d数组坐标判断对的箱子,箱子和箱子,箱子和墙,箱子和目标,hero和箱子的几种关系要搞清,谁是主动,谁是被动,谁碰到谁再碰到谁就不能再碰哈哈

水果机:相对没什么技术含量,计数器累加再弄一个小球在屏幕上转圈滚动,滚动到事先生成的随机数等于累加的数字时,停止小球的滚动,停在了那里就用计数变量mod加分类别,最终该得多少分,输出在text里面。。

相关内容

热门资讯

百科知识游戏卡片制作方法 一、游戏常识英语1.【百科知识问题(英文好的来)1 1.Which of the following...
百科知识答题游戏 知乎 一、我们为什么热衷于知识竞赛“你确定吗?”最近风靡的知识竞赛类游戏,是否让你想起当年的开心辞典、幸运...
安全知识幼儿园玩游戏 一、幼儿入园安全小常识1.幼儿园健康安全小常识有哪些 1、教育幼儿不要随身携带玩具及锐利的器具来园,...
爱玩游戏必备知识有哪些 一、成年人都爱玩那些类型的游戏呢‍今年的春节假期是独特的。在疫情的影响下,相信会有不少人...
爱猜性知识游戏攻略2 一、仙剑奇侠传二攻略仙剑2事件全流程(不想太依赖攻略或打算进行同人创作的朋友看进来^-^)[小虎十四...
dnf腾讯游戏安全知识答题答案 一、2021腾讯游戏安全知识答题答案A、都是一起玩游戏的,借给他玩玩呗B、账号密码,不要告知其他人。...
安全知识竞赛活动小游戏 一、关于知识的竞赛的名称1.国语知识小竞赛 2.微博知识小竞赛国语知识小竞赛 1.知识竞赛口号有哪些...
cf游戏安全知识答题全部正确答... 一、cf生化大赏答案大全2023cf生化奖励活动的答案是什么?2023年最新答题活动已经开始。玩家可...
3d游戏的技术知识 一、3d技术原理是什么3D技术:是靠人两眼的视觉差产生的。人的两眼之间一般会有8厘米左右的距离。要让...
cf一些基本知识有哪些游戏 一、CF介绍一下所有的游戏模式爆破模式:进攻方需要使用C4炸弹摧毁目标物,而防守方则要阻止目标物被摧...