⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.frm

📁 VB街头格斗REALLINE版
💻 FRM
📖 第 1 页 / 共 2 页
字号:
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 + -