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

📄 form1.vb

📁 VB.NET制作赛车游戏
💻 VB
📖 第 1 页 / 共 5 页
字号:
        Me.Controls.Add(Me.red)
        Me.Controls.Add(Me.blue)
        Me.Controls.Add(Me.yellow)
        Me.Controls.Add(Me.zhuangche5)
        Me.Controls.Add(Me.zhuangche4)
        Me.Controls.Add(Me.zhuangche3)
        Me.Controls.Add(Me.zhuangche2)
        Me.Controls.Add(Me.zhuangche1)
        Me.Controls.Add(Me.left_zhuangche)
        Me.Controls.Add(Me.right_zhuangche)
        Me.Controls.Add(Me.me_car)
        Me.Controls.Add(Me.Label88)
        Me.Controls.Add(Me.Label2)
        Me.Controls.Add(Me.zhuche)
        Me.Controls.Add(Me.car1)
        Me.Controls.Add(Me.car0)
        Me.Controls.Add(Me.car3)
        Me.Controls.Add(Me.car2)
        Me.Controls.Add(Me.destination)
        Me.Controls.Add(Me.start)
        Me.Controls.Add(Me.PictureBox6)
        Me.Controls.Add(Me.PictureBox5)
        Me.Controls.Add(Me.PictureBox4)
        Me.Controls.Add(Me.PictureBox3)
        Me.Controls.Add(Me.PictureBox2)
        Me.Controls.Add(Me.PictureBox1)
        Me.Controls.Add(Me.PictureBox016)
        Me.Controls.Add(Me.PictureBox106)
        Me.Controls.Add(Me.PictureBox015)
        Me.Controls.Add(Me.PictureBox014)
        Me.Controls.Add(Me.PictureBox013)
        Me.Controls.Add(Me.PictureBox012)
        Me.Controls.Add(Me.PictureBox011)
        Me.Controls.Add(Me.PictureBox101)
        Me.Controls.Add(Me.PictureBox105)
        Me.Controls.Add(Me.PictureBox104)
        Me.Controls.Add(Me.PictureBox103)
        Me.Controls.Add(Me.PictureBox102)
        Me.Controls.Add(Me.zhongxian6)
        Me.Controls.Add(Me.right_side)
        Me.Controls.Add(Me.left_side)
        Me.Controls.Add(Me.zhong)
        Me.Controls.Add(Me.track)
        Me.MaximizeBox = False
        Me.MaximumSize = New System.Drawing.Size(304, 272)
        Me.MinimumSize = New System.Drawing.Size(304, 272)
        Me.Name = "Form1"
        Me.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.Text = "Form1"
        Me.ResumeLayout(False)

    End Sub

#End Region
    Dim Left_boundary(5), Right_boundary(5), Zhongxian(5) As PictureBox
    Dim car(8) As PictureBox '右撞车时按右键调整;左撞车时按左键调整;开始一段路程只能按加速键
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim i%
        car(0) = car0
        car(1) = car1
        car(2) = car2
        car(3) = car3
        car(4) = car4
        car(5) = car5
        car(6) = car6
        car(7) = car7
        Left_boundary(0) = PictureBox101
        Left_boundary(1) = PictureBox102
        Left_boundary(2) = PictureBox103
        Left_boundary(3) = PictureBox104
        Left_boundary(4) = PictureBox105
        Left_boundary(5) = PictureBox106
        Right_boundary(0) = PictureBox011
        Right_boundary(1) = PictureBox012
        Right_boundary(2) = PictureBox013
        Right_boundary(3) = PictureBox014
        Right_boundary(4) = PictureBox015
        Right_boundary(5) = PictureBox016
        Zhongxian(0) = PictureBox1
        Zhongxian(1) = PictureBox2
        Zhongxian(2) = PictureBox3
        Zhongxian(3) = PictureBox4
        Zhongxian(4) = PictureBox5
        Zhongxian(5) = PictureBox6
        For i = 0 To 5
            Left_boundary(i).Image = left_side.Image
            Right_boundary(i).Image = right_side.Image
            Zhongxian(i).Image = zhong.Image
            Zhongxian(i).Visible = False
        Next
        start.Left = (right_side.Left - (left_side.Left + left_side.Width)) / 2 - start.Width / 2 + left_side.Width
        destination.Left = (right_side.Left - (left_side.Left + left_side.Width)) / 2 - destination.Width / 2 + left_side.Width
        destination.Visible = False
        Label2.Visible = False
        Label4.Text = "开始"
        Label4.Top = 152
        Label4.Left = 96
        biaozhi.Top = 0
        biaozhi.Left = 0
    End Sub '开始整个窗体布局

    Private Sub control_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles control.Tick
        Begin.Enabled = False '首先停止begin过程避免与control过程冲突
        zhuche.Visible = True '防止主车(玩家控制的车)再闪烁后,主车不在屏幕上显示
        If l = 1 Then zhuche.Left -= 3 '左移动
        If r = 1 Then zhuche.Left += 3 '右移动
        Dim number0 As Int16
        If sp = 1 And destination.Visible = False Then
            up_speed(3, car) '调用加速
        Else
            down_speed(3, car) '调用减速
        End If


        Dim number2 As Int16
        For number2 = 1 To 7
            If car(number2).Top + car(number2).Height <= track.Top And car(number2).Top >= track.Top - 2 * car(number2).Height And car(number2).Left <> 300 And sp = 0 Then
                u_outside(car(number2), number2, yellow)
            End If
        Next '调用其它车冲出上屏幕后的处理


        If (car(0).Top >= track.Top + track.Height) Or (car(0).Top <= track.Top - 14 * car(0).Height) Then d_outside(car(0), 0) : score += 10 : Label10.Text = CStr(score)
        Dim number1 As Int16
        For number1 = 1 To 3
            If car(number1).Top >= track.Top + track.Height Then
                d_outside(car(number1), number1)
                score += 10
                Label10.Text = CStr(score)
            End If
        Next '调用其它车冲出下屏幕后的处理

        Dim number3 As Int16
        For number3 = 0 To 3
            If car(number3).Top + car(number3).Height + 12 >= zhuche.Top Then
                crash(car(number3), zhuche)
                k = number3
            End If
        Next '主车和其它车撞车后处理

        If (car(2).Image Is blue.Image) And (car(2).Top >= zhuche.Top - 100 And car(2).Top <= zhuche.Top - 90) Then
            avoid(car(2))
        End If '调用让路车的执行


        If ((car(1).Image Is red.Image) And (car(1).Top >= zhuche.Top - 50 And car(1).Top <= zhuche.Top - 20)) Then
            follow(car(1))
        End If


        If zhuche.Left <= 72 Then
            control.Interval = 500
            check.Enabled = False
            L_baozha()
            sp = 0
        End If '左爆炸效果处理

        If zhuche.Left >= 146 Then
            control.Interval = 500
            check.Enabled = False
            R_baozha()
        End If '右爆炸效果处理

        Dim number5 As Int16
        For number5 = 0 To 3
            If car(number5).Left <= 73 Or (car(number5).Left >= 143 And car(number5).Left < 150) Then
                brust(car(number5), baozha1, baozha3, yellow, follow_avoid)
            End If
        Next '其它车爆炸效果

        Dim number4 As Int16
        For number4 = 0 To 5
            If start.Top >= 29153 + number4 * 48 Then Zhongxian(number4).Visible = False '让斑马线随start标记依次消失
        Next

        If start.Top >= 5000 Then
            Dim m As Short
            right_side.Image = PictureBox8.Image
            For m = 0 To 5 Step 2
                Right_boundary(m).Image = right_side.Image
            Next
        End If '换绿化带

        If start.Top >= 29700 Then
            Dim n As Short
            right_side.Image = PictureBox9.Image
            For n = 0 To 5
                Right_boundary(n).Image = right_side.Image
            Next
        End If '换绿化带
        If start.Top >= 30000 Then
            destination.Visible = True
            If sp = 1 Then
                destination.Top += 5
            End If
        End If '终点标志出现

        If destination.Top >= 184 Then
            destination.Top = 184
            If (car(2).Top <= track.Top - car(2).Height Or car(3).Top <= track.Top - car(3).Height) And _
             (car(1).Top <= track.Top - car(1).Height) And (car(0).Top <= track.Top - car(0).Height) Then
                Begin.Enabled = True
                Exit Sub
            End If
        End If '终点出现后的处理
    End Sub

    Private Sub background_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles background.Tick
        Dim i% = 0
        If Left_boundary(0).Top <= 240 Then
            Left_boundary(0).Top += 10
        Else
            Left_boundary(0).Top = Left_boundary(5).Top - Left_boundary(5).Height + 10
        End If

        If Right_boundary(0).Top <= 240 Then
            Right_boundary(0).Top += 10
        Else
            Right_boundary(0).Top = Right_boundary(5).Top - Right_boundary(5).Height + 10
        End If

        If Zhongxian(0).Top <= 240 Then
            Zhongxian(0).Top += 10
        Else
            Zhongxian(0).Top = Zhongxian(5).Top - (Zhongxian(5).Height + 28) + 10
        End If

        For i = 1 To 5
            If Left_boundary(i).Top <= 240 Then
                Left_boundary(i).Top += 10
            Else
                Left_boundary(i).Top = Left_boundary(i - 1).Top - Left_boundary(i - 1).Height
            End If

            If Right_boundary(i).Top <= 240 Then
                Right_boundary(i).Top += 10
            Else
                Right_boundary(i).Top = Right_boundary(i - 1).Top - Right_boundary(i - 1).Height
            End If

            If Zhongxian(i).Top <= 240 Then
                Zhongxian(i).Top += 10
            Else
                Zhongxian(i).Top = Zhongxian(i - 1).Top - (Zhongxian(i - 1).Height + 28)
            End If
        Next '背景运动

        start.Top += 10
        If destination.Visible = False Then
            Label12.Text = CStr(30000 - start.Top)
        End If '显示距离终点的路程


        If start.Top >= 1000 And start.Top <= 1050 Then
            control.Enabled = True
        End If '开始让主车加速其他车不出现

        Dim number0 As Int16
        If sp = 1 And destination.Visible = False Then
            If start.Top >= 5 And start.Top < 1500 Then Zhongxian(5).Visible = True
            For number0 = 0 To 4
                If start.Top >= 48 + 48 * number0 And start.Top < 1500 Then
                    Zhongxian(number0).Visible = True
                End If
            Next
        End If '让斑马线随start标记依次出现

    End Sub

    Private Sub Begin_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Begin.Tick
        biaozhi.Left += 10
        Label4.Left += 10
        Static time As Int16
        Dim i As Int16
        If biaozhi.Left > Me.Left + 300 Then '开机动画
            If destination.Top < 184 Then
                time += 1
                If time < 16 Then
                    Begin.Interval = 500
                    flash(zhuche) '主车闪烁
                Else
                    Begin.Interval = 50
                    For i = 0 To 7
                        car(i).Top -= 15 '其它车冲出屏幕
                    Next
                    If car(1).Top <= -200 Then
                        For i = 0 To 3
                            car(i).Image = yellow.Image '换其它车的颜色
                        Next
                        meter.Enabled = True '调用记时控件
                        Exit Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -