谁能帮我做一份VB6.0作业,内容为小游戏,最好是自己写的,代码要稍微多一点。

来自:    更新日期:早些时候
用vb6.0做一个小游戏~

你说的贪吃蛇、推箱子都不简单,涉及到很多方面的设计,要花不少时间的。这里估计很少有人能帮得上你。祝你好运。

帮你做了一个简单的猜数游戏,代码如下:

'只需给窗体添加一个Command1的控件,单击它即可执行,允许多次执行
Private Sub Command1_Click()
Dim myArray(1 To 20) As Integer '储存用于猜测的数据
Dim rep As Boolean, cor As Boolean 'rep记录产生的随机数是否有重复的,有重复的,会剔除,cor记录是否猜中
Dim guess As Integer
Dim i As Integer, j As Integer

'开始随机生成用于猜测的20个数据,若出现重复的数,将重新生成新的数
Cls
Randomize
i = 1
Do While i < 21
rep = False
myArray(i) = 1 + Int(50 * Rnd)
For j = 1 To i - 1
If myArray(i) = myArray(j) Then rep = True: Exit For
Next
If rep = False Then i = i + 1
Loop

'为20个数据从小到大排序
For i = 1 To 20
For j = i + 1 To 20
If myArray(i) > myArray(j) Then t = myArray(i): myArray(i) = myArray(j): myArray(j) = t
Next
Next

'开始猜数,输入非数值型的数据,会被视为输入0
cor = False
guess = Val(InputBox("请输入1到50的某个自然数:", "猜数游戏", 0))
For i = 1 To 20
If guess = myArray(i) Then cor = True: Exit For
Next

'开始打印结果
Print "20个随机数如下所示:"
For i = 1 To 20
Print Format(myArray(i), "#####"),
If i Mod 5 = 0 Then Print
Next
Print
Print "您猜的数是" & guess & "," & IIf(cor, "恭喜您,猜中了!", "不好意思,没有这个数哦!")

End Sub

Option Explicit

Private WithEvents Timer1 As Timer
Private WithEvents Label1 As Label
Dim GFangXiang As Boolean
Dim HWB As Single
Dim She() As ShenTi
Dim X As Long, Y As Long
Dim ZhuangTai(23, 23) As Long
Private Type ShenTi
F As Long
X As Long
Y As Long
End Type

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Dim C As Long
If KeyCode = 27 Then End
If KeyCode = 32 Then
If Timer1.Enabled = True Then
Timer1.Enabled = False
Label1.Visible = True
Else
Timer1.Enabled = True
Label1.Visible = False
End If
End If
C = UBound(She)
If GFangXiang = True Then Exit Sub
Select Case KeyCode
Case 37
If She(C).F = 2 Then Exit Sub
She(C).F = 0
GFangXiang = True
Case 38
If She(C).F = 3 Then Exit Sub
She(C).F = 1
GFangXiang = True
Case 39
If She(C).F = 0 Then Exit Sub
She(C).F = 2
GFangXiang = True
Case 40
If She(C).F = 1 Then Exit Sub
She(C).F = 3
GFangXiang = True
End Select
End Sub

Private Sub Form_Load()
Me.AutoRedraw = True
Me.BackColor = &HC000&
Me.FillColor = 255
Me.FillStyle = 0
Me.ScaleWidth = 24
Me.ScaleHeight = 24
Me.WindowState = 2
Set Timer1 = Controls.Add("VB.Timer", "Timer1")
Set Label1 = Controls.Add("VB.Label", "Label1")
Label1.AutoSize = True
Label1.BackStyle = 0
Label1 = "暂停"
Label1.ForeColor = RGB(255, 255, 0)
Label1.FontSize = 50
ChuShiHua
End Sub

Private Sub Form_Resize()
On Error GoTo 1:
With Me
If .WindowState 1 Then
.Cls
.ScaleMode = 3
HWB = .ScaleHeight / .ScaleWidth
.ScaleWidth = 24
.ScaleHeight = 24
Label1.Move (Me.ScaleWidth - Label1.Width) / 2, (Me.ScaleHeight - Label1.Height) / 2
HuaTu
Me.Line (X, Y)-(X + 1, Y + 1), RGB(255, 255, 0), BF
End If
End With
1:
End Sub

Private Sub Timer1_Timer()
Dim C As Long, I As Long
On Error GoTo 2:
QingChu
C = UBound(She)
Select Case She(C).F
Case 0
If ZhuangTai(She(C).X - 1, She(C).Y) = 2 Then
C = C + 1
ReDim Preserve She(C)
She(C).F = She(C - 1).F
She(C).X = She(C - 1).X - 1
She(C).Y = She(C - 1).Y
ChanShengShiWu
GoTo 1:
ElseIf ZhuangTai(She(C).X - 1, She(C).Y) = 1 Then
GoTo 2:
End If
Case 1
If ZhuangTai(She(C).X, She(C).Y - 1) = 2 Then
C = C + 1
ReDim Preserve She(C)
She(C).F = She(C - 1).F
She(C).X = She(C - 1).X
She(C).Y = She(C - 1).Y - 1
ChanShengShiWu
GoTo 1:
ElseIf ZhuangTai(She(C).X, She(C).Y - 1) = 1 Then
GoTo 2:
End If
Case 2
If ZhuangTai(She(C).X + 1, She(C).Y) = 2 Then
C = C + 1
ReDim Preserve She(C)
She(C).F = She(C - 1).F
She(C).X = She(C - 1).X + 1
She(C).Y = She(C - 1).Y
ChanShengShiWu
GoTo 1:
ElseIf ZhuangTai(She(C).X + 1, She(C).Y) = 1 Then
GoTo 2:
End If
Case 3
If ZhuangTai(She(C).X, She(C).Y + 1) = 2 Then
C = C + 1
ReDim Preserve She(C)
She(C).F = She(C - 1).F
She(C).X = She(C - 1).X
She(C).Y = She(C - 1).Y + 1
ChanShengShiWu
GoTo 1:
ElseIf ZhuangTai(She(C).X, She(C).Y + 1) = 1 Then
GoTo 2:
End If
End Select
ZhuangTai(She(0).X, She(0).Y) = 0
For I = 0 To C
Select Case She(I).F
Case 0
She(I).X = She(I).X - 1
Case 1
She(I).Y = She(I).Y - 1
Case 2
She(I).X = She(I).X + 1
Case 3
She(I).Y = She(I).Y + 1
End Select
Next
TiaoZheng
1:
GFangXiang = False
ZhuangTai(She(C).X, She(C).Y) = 1
HuaTu
Exit Sub
2:
If MsgBox("游戏结束,点“是”重新开始游戏,点“否”", vbYesNo, "贪吃蛇") = vbYes Then
ChuShiHua
Else
End
End If
End Sub

Private Sub ChuShiHua()
Me.Cls
Timer1.Enabled = True
Timer1.Interval = 200
Erase ZhuangTai
ReDim She(2)
She(0).F = 2
She(0).X = 9
She(0).Y = 11
ZhuangTai(9, 11) = 1
She(1).F = 2
She(1).X = 10
She(1).Y = 11
ZhuangTai(10, 11) = 1
She(2).F = 2
She(2).X = 11
She(2).Y = 11
ZhuangTai(11, 11) = 1
HuaTu
ChanShengShiWu
End Sub

Private Sub QingChu()
Dim I As Long
For I = 0 To UBound(She)
Me.Line (She(I).X, She(I).Y)-(She(I).X + 1, She(I).Y + 1), Me.BackColor, BF
Next
End Sub

Private Sub HuaTu()
Dim I As Long
For I = 0 To UBound(She)
Me.Circle (She(I).X + 0.5, She(I).Y + 0.5), 0.49, RGB(255, 255, 0), , , HWB
Next
End Sub

Private Sub TiaoZheng()
Dim I As Long
For I = 0 To UBound(She) - 1
She(I).F = She(I + 1).F
Next
End Sub

Private Sub ChanShengShiWu()
Randomize Timer
1:
X = Int(Rnd * 24)
Y = Int(Rnd * 24)
If ZhuangTai(X, Y) > 0 Then GoTo 1:
ZhuangTai(X, Y) = 2
Me.Line (X, Y)-(X + 1, Y + 1), RGB(255, 255, 0), BF
End Sub
贪吃蛇游戏,不用放任何东西

很简单,做一个打地鼠的游戏,
放9个按钮,然后int(RND*10)
select case判断,然后command.enable=1,然后当点击command.enable=0,需要有个Timer控件,用来设定打地鼠的延迟,如果你为了更好一下,你可以收集一些图片的素材,然后给按钮设置

msgbox "Game Start!!!"


谁能帮我做一份VB6.0作业,内容为小游戏,最好是自己写的,代码要稍微多一点。视频

相关评论:
  • 17664708964哪位大侠教教俺VB 6.0 全局热键&托盘程序求大神帮助
    鱼雍劳VB6没有什么做不到,谁说VB6不如VB.net,只是方法的使用而已,其实这些都是可以VB6都是可以做到的,可以交流! vb中设置全局热键的方法很多,我介绍几种吧: 第一种回调用,添加模块复制下面代码 Private Declare Function CallNextHookEx Lib "user32" _ (ByVal hHook As Long, _ ByVal nCode ...

  • 17664708964vb6.0控件、属性、事件详细介绍
    鱼雍劳大家好,我是一个自学VB新手,刚刚接触VB请大家多多关照!我从课本上看到控件、属性、事件介绍的太笼统了。大家能不能给小第一份比较详细点的资料(注:MSDN里面介绍的看的不太明白)... 大家好,我是一个自学VB新手,刚刚接触VB请大家多多关照!我从课本上看到控件、属性、事件介绍的太笼统了。大家能不能给小第一份...

  • 17664708964vb6.0动态加载ODBC驱动(MySQL数据源)的完整vb代码?
    鱼雍劳首先将myodbc3.dll文件复制到系统下,然后将以下内容做成xxx.reg文件并运行。Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Connector\/ODBC 3.51]"Version"="3.51.24"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ODBC\\ODBCINST.INI\\MySQL ODBC 3.51 Driver]"UsageCount"=...

  • 17664708964谁能帮我用VB6.0访问下面的这个accdb文件,
    鱼雍劳你写个连接,然后把密码用户名加上就可以了。。。不用让别人访问吧。

  • 17664708964有份试卷,谁能帮我做做?晚上得交。过关了,以身相许作为报答。_百度知 ...
    鱼雍劳1、下面4种运算符优先级别最低的是 B A)MOD B)\\ C) * D) ^ 2、标签框的默认属性是 A A)caption B)text C) top D) name 3、在VB集成开发环境中,功能键F5的功能是 A A)运行程序 B)进入帮助窗口 C) 进入编辑状态 D) 进入属性窗口 4、使窗体、...

  • 17664708964VB6.0的选项卡控件使用问题
    鱼雍劳在选项卡控件的属性中添加选项 然后单击选项卡,按F1(你必须安装了MSDN)按照它上面的例子做 选项卡控件不是一个容器,得做几个Frame或Picture把每一个选项里的控件“包”上。以下为MSDN对选项卡控件的帮助:TabStrip 控件就象笔记本的书签或者一组文件夹的标签一样。通过使用 TabStrip 控件,可以在...

  • 17664708964VB6.0开发的软件界面外观与 VS .net 有差别么?若有差别很大么?_百度...
    鱼雍劳如果你用VS.NET编写的软件再XP下运行。那么软件界面和VB6是没什么区别的。用VS.NET开发的软肯定需要客户电脑安装.net框架。VB6做出的软件也可以有很漂亮的界面,这个你可以自己做皮肤或者用第三方皮肤控件。例如国产的skinsharp,同样vs.net想要做漂亮的界面也一样。用.net 不是超前,而是现在的一个主流...

  • 17664708964...考二级VB,所以现在自学急需一个visual basic 6.0,谁有的话请发到邮...
    鱼雍劳明年考啊 我今年就考了,我发给你

  • 17664708964VB6.0开发软件还有市场吗?
    鱼雍劳或许您会说这是反微软基本教义派在造谣,现在VB的版本是VB 6.0,再来不是有VB 7.0,就是所谓的Visual Basic.NET吗?可是等大家拿到这个新版的VB.NET,或是去要一份Beta版来看看,现在熟悉VB的人,可以发现己根本无从下手,因为从基本语法开始已经全都和以前不一样了。目前只熟悉VB的朋友必须重新...

  • 17664708964快速关机VB代码不会 谁帮我啊
    鱼雍劳Declare Function ExitWindowsEx Lib 〃user32〃( ByVal uFlags As Long,ByVal dwReserved As Long) As Long 参数说明:此函数有两个参数vFlags、dwReserved,其中vFlags参数决定用户需要做的关机操作,dwReserved参数是作为保留而没有使用。vFlags 参数可以取以下几种常量(或相应值):EWX_ShutDown 1 ...

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网