挡板游戏1

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.动画的代码

Dim time%, key%, score%, a#, y#

Private Sub Command2_Click()

Line1.X1 = 1320

Line1.X2 = 3000

Timer1.Interval = 100

Label1.Caption = 0

Timer2.Enabled = False

Timer1.Enabled =False

Label4.Caption = ""

score = -10

time = 0

Shape1.Left = (Line1.X1 + Line1.X2) / 2 '球位置初始化Shape1.Top = Line1.Y1 - Shape1.Height

End Sub

Private Sub Form_Load()

Line1.X1 = 1320

Line1.X2 = 3000

Timer1.Interval = 100

Label1.Caption = ""

Timer2.Enabled = False

Label4.Caption = ""

score = -10

time = 0

Shape1.Left = (Line1.X1 + Line1.X2) / 2

Shape1.Top = Line1.Y1 - Shape1.Height '游戏初始化End Sub

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

key = KeyCode

Select Case KeyCode

Case 37 '如果按下左箭头,使板子向左移动

If Line1.X1 <= 0 Then

Line1.X1 = 0

Else

Line1.X1 = Line1.X1 - 90

Line1.X2 = Line1.X2 - 90

End If

Case 39 '如果按下右箭头,使板子向右移动

If Line1.X2 >= 4575 Then

Line1.X2 = 4575

Else

Line1.X1 = Line1.X1 + 90

Line1.X2 = Line1.X2 + 90

End If

End Select

End Sub

Private Sub Command1_Click()

Dim m%, n%

Picture1.SetFocus

Timer1.Enabled = True

Timer2.Enabled = True

Randomize

m = Int(Rnd * 1) + 0

If m = 0 Then

Randomize

a = Int(Rnd * (46 * 3.1416 / 180)) + 30 * 3.1416 / 180

y = 100 * Abs(Tan(a))

Else: Randomize

a = Int(Rnd * (46 * 3.1416 / 180)) + 105 * 3.1416 / 180 '平移移动动量和我竖直移动的夹角

y = 100 * Abs(Tan(a)) ‘确定单位时间内水平移动量,求出竖直移动量

End If

Private Sub Command3_Click()

If Command3.Caption = "暂停" Then

Timer1.Enabled = False

Timer2.Enabled = False

Label5.Visible = True

Command1.Enabled = False

Command2.Enabled = False

Command3.Caption = "继续"

Else

Picture1.SetFocus

Timer1.Enabled = True

Timer2.Enabled = True

Label5.Visible = False

Command1.Enabled = True

Command2.Enabled = True

Command3.Caption = "暂停"

End If

End Sub

Private Sub Picture1_KeyUp(KeyCode As Integer, Shift As

key = KeyAscii

End Sub

Private Static Sub Timer1_Timer()

Dim n%, m%, i%

If Shape1.Left < 0 Then

n = 0

End If

If Shape1.Left > 4200 Then '使球碰壁反弹的条件

n = 1

End If

Select Case (n)

Case 0

Shape1.Left = Shape1.Left + 100

Case 1

Shape1.Left = Shape1.Left - 100

End Select

If Shape1.Top + Shape1.Height >= Line1.Y1 And Shape1.Left <= (Line1.X2 - 175) And Shape1.Left >= (Line1.X1 - 200) Then m = 0 '球遇到挡板反弹的条件score = score + 10

相关文档
最新文档