📄 form1.frm
字号:
VERSION 5.00
Begin VB.Form Form1
AutoRedraw = -1 'True
BackColor = &H00808000&
Caption = "[VB街头格斗REALLINE修正版] 游戏之家 "
ClientHeight = 5670
ClientLeft = 60
ClientTop = 345
ClientWidth = 7650
Icon = "Form1.frx":0000
LinkTopic = "Form1"
ScaleHeight = 378
ScaleMode = 3 'Pixel
ScaleWidth = 510
StartUpPosition = 2 '屏幕中心
Begin VB.PictureBox MANPIC
AutoRedraw = -1 'True
AutoSize = -1 'True
BorderStyle = 0 'None
Height = 1215
Index = 0
Left = 2160
ScaleHeight = 81
ScaleMode = 3 'Pixel
ScaleWidth = 97
TabIndex = 1
Top = 240
Visible = 0 'False
Width = 1455
End
Begin VB.Timer Timer1
Interval = 1
Left = 600
Top = 2400
End
Begin VB.PictureBox PIC
AutoRedraw = -1 'True
AutoSize = -1 'True
BorderStyle = 0 'None
Height = 1215
Index = 0
Left = 240
ScaleHeight = 81
ScaleMode = 3 'Pixel
ScaleWidth = 97
TabIndex = 0
Top = 240
Visible = 0 'False
Width = 1455
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'VB街头格斗演示 游戏之家 2007年2月 http://www.vbgamediy.com
Option Explicit
Dim BKPICTURE As Long '切换背景
Dim ITIMER As Long, JTIMER As Long '主角动画时间
Dim ATIMER1 As Long, BTIMER1 As Long '敌人1动画时间
Dim ATIMER2 As Long, BTIMER2 As Long '敌人2动画时间
Dim X1 As Single, Y1 As Single '主角坐标
Dim ASteps As Single '主角移动步长
Dim Actions As Long '主角动作
Dim Powers As Long '主角力量
Dim EA1 As Single, EB1 As Single, ELIFE1 As Long '敌人1坐标生命
Dim EA2 As Single, EB2 As Single, ELIFE2 As Long '敌人2坐标生命
Dim EA1AI As Long, EA2AI As Long '敌人AI
Dim EA1HIT As Long, EA2HIT As Long '敌人被连击
'0:正常
'1:逃跑
Dim P1 As Long, P2 As Long, FPS As Long
Dim DONGZUO As Long '主角动作编号
Dim EYRND As Long
Dim ENEMYDZ1 As Long, DZE1 As Long, FPSENEMY1 As Long '敌人1动作编号
Dim ENEMYDZ2 As Long, DZE2 As Long, FPSENEMY2 As Long '敌人2动作编号
Dim FootHitMOVE As Long, HandHitMOVE As Long '被拳脚击中后的位置变化
Dim WP As Long '物品
Dim JJ As Integer '敌人生命
Private Sub Form_Load()
Randomize Timer
Form1.Height = 480 * 15: Form1.Width = 640 * 15
X1 = 50: Y1 = 300 '主角坐标
ASteps = 1.2
Actions = 0
Powers = 1
JJ = 30 '敌人生命值
EA1AI = 0
EA2AI = 0
EA1HIT = 0
EA1HIT = 0
EA1 = 600: EB1 = 250 '敌人1坐标
ELIFE1 = JJ: DZE1 = 2
EA2 = 600: EB2 = 350 '敌人2坐标
ELIFE2 = JJ: DZE2 = 2
HandHitMOVE = 3
FootHitMOVE = 5
FPS = 1 '主角图片张数
FPSENEMY1 = 600 '敌人图片张数
FPSENEMY2 = 600 '敌人图片张数
ENEMYDZ1 = 1
ENEMYDZ2 = 1
WP = 1
BKPICTURE = 1 '切换背景
'载入图像
For P1 = 1 To 6: Load PIC(P1): Next
PIC(1).Picture = LoadPicture("PIC\BKPIC1.JPG") '背景1
PIC(2).Picture = LoadPicture("PIC\BKPIC2.JPG") '背景2
PIC(3).Picture = LoadPicture("PIC\BKPIC3.JPG") '背景3
PIC(4).Picture = LoadPicture("PIC\VBGAMEDIY.GIF") '游戏之家版权
PIC(5).Picture = LoadPicture("PIC\WUPIN.BMP") '物品
PIC(6).Picture = LoadPicture("PIC\QIANJIN.BMP") '箭头
For P2 = 1 To 3: Load MANPIC(P2): Next
MANPIC(1).Picture = LoadPicture("PIC\MANPIC1.bmp") '主角人物动作
MANPIC(3).Picture = LoadPicture("PIC\ENEMYL.bmp") '对手动作1
Me.Show
ITIMER = GetTickCount() '动画间隔时间
fxBitBlt Me.hDC, 160, 100, 324, 94, PIC(4).hDC, 0, 0, vbSrcCopy '片头
Me.Refresh
'////////播放MIDI音乐///////
Res = mciSendString("play MUSIC\DRAGON1.mid", Ret, 1024, 0)
End Sub
Private Sub Form_Unload(Cancel As Integer)
End
End Sub
Private Sub Timer1_Timer()
If BKPICTURE = 1 Then fxBitBlt Me.hDC, 0, 0, 640, 480, PIC(1).hDC, 0, 0, vbSrcCopy '显示背景1
If BKPICTURE = 2 Then fxBitBlt Me.hDC, 0, 0, 640, 480, PIC(2).hDC, 0, 0, vbSrcCopy '显示背景2
If BKPICTURE = 3 Then fxBitBlt Me.hDC, 0, 0, 640, 480, PIC(3).hDC, 0, 0, vbSrcCopy '显示背景3
If WP = 1 Then fxRotate Me.hDC, 300, 270, PIC(5).hDC, 0, 0, 36, 36, 0, vbGreen '显示物品,透明绿色
If WP = 2 And BKPICTURE = 2 Then fxRotate Me.hDC, 300, 270, PIC(5).hDC, 0, 0, 36, 36, 0, vbGreen '显示物品,透明绿色
DONGZUO = 1
If GetAsyncKeyState(VK_ESCAPE) And &H8000 Then
Res = mciSendString("close all", Ret, 1024, 0)
End
End If
'主角移动
If Actions < 2 Then
If X1 > 30 And GetAsyncKeyState(VK_LEFT) And &H8000 Then
X1 = X1 - ASteps: DONGZUO = 2
Actions = 1
End If
If X1 < 600 And GetAsyncKeyState(VK_RIGHT) And &H8000 Then
X1 = X1 + ASteps: DONGZUO = 2
Actions = 1
End If
If Y1 > 220 And GetAsyncKeyState(VK_UP) And &H8000 Then
Y1 = Y1 - ASteps: DONGZUO = 2
Actions = 1
End If
If Y1 < 400 And GetAsyncKeyState(VK_DOWN) And &H8000 Then
Y1 = Y1 + ASteps: DONGZUO = 2
Actions = 1
End If
ElseIf Actions = 2 Then
Actions = 0
ElseIf Actions = 3 Then
Actions = 0
End If
If GetAsyncKeyState(VK_ATTACK1) And &H8000 Then
DONGZUO = 3 '出拳
Actions = 2
End If
If GetAsyncKeyState(VK_ATTACK2) And &H8000 Then
DONGZUO = 4 '出脚
If Actions > 4 Then
Else
X1 = X1 + 0.3
End If
Actions = 2
End If
If ELIFE1 > 0 And DONGZUO = 3 And X1 > EA1 - 50 And X1 < EA1 + 20 And Y1 > EB1 - 8 And Y1 < EB1 + 8 Then
ELIFE1 = ELIFE1 - Powers '敌人1扣血
EYRND = 0: ENEMYDZ1 = 0: DZE1 = 5 '判断敌人1被拳打到
EA1 = EA1 + HandHitMOVE
Actions = 4
EA1HIT = EA1HIT + 1
If EA1HIT > 5 Then
EA1AI = 1
EA1HIT = 0
End If
End If
If ELIFE1 > 0 And DONGZUO = 4 And X1 > EA1 - 30 And X1 < EA1 + 30 And Y1 > EB1 - 8 And Y1 < EB1 + 8 Then
ELIFE1 = ELIFE1 - Powers '敌人1扣血
EYRND = 0: ENEMYDZ1 = 0: DZE1 = 7 '判断敌人1被脚踢到
EA1 = EA1 + FootHitMOVE
Actions = 5
EA1HIT = EA1HIT + 1
If EA1HIT > 5 Then
EA1AI = 1
EA1HIT = 0
End If
End If
If ELIFE2 > 0 And DONGZUO = 3 And X1 > EA2 - 50 And X1 < EA2 + 20 And Y1 > EB2 - 8 And Y1 < EB2 + 8 Then
ELIFE2 = ELIFE2 - Powers '敌人2扣血
EYRND = 0: ENEMYDZ2 = 0: DZE2 = 5 '判断敌人2被拳打到
EA2 = EA2 + HandHitMOVE
Actions = 4
EA2HIT = EA2HIT + 1
If EA2HIT > 5 Then
EA2AI = 1
EA2HIT = 0
End If
End If
If ELIFE2 > 0 And DONGZUO = 4 And X1 > EA2 - 30 And X1 < EA2 + 30 And Y1 > EB2 - 8 And Y1 < EB2 + 8 Then
ELIFE2 = ELIFE2 - Powers '敌人2扣血
EYRND = 0: ENEMYDZ2 = 0: DZE2 = 7 '判断敌人2被脚踢到
EA2 = EA2 + FootHitMOVE
Actions = 5
EA2HIT = EA2HIT + 1
If EA2HIT > 5 Then
EA2AI = 1
EA2HIT = 0
End If
End If
'捡物品
If WP = 1 Then
If X1 > 290 And X1 < 340 And Y1 > 250 And Y1 < 330 Then
sndPlaySound "MUSIC\scifi.wav", SND_ASYNC
ASteps = ASteps * 2
WP = 2
End If
ElseIf WP = 2 And BKPICTURE = 2 Then
If X1 > 290 And X1 < 340 And Y1 > 250 And Y1 < 330 Then
sndPlaySound "MUSIC\scifi.wav", SND_ASYNC
Powers = Powers * 2
WP = 0 '捡到物品后物品消失
End If
End If
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -