Dim 高度 As Double = 100, 次数 = 0, 总量 = 100, 最后反d高 = 0
A:
高度 = 高度 / 2
总量 += 高度
次数 += 1
ConsoleWriteLine("{0} {1} {2}", 次数, 总量, 高度)
If 次数 < 10 Then GoTo A
我有窗口的d跳完整代码,可自行根据需要修改,有用请采纳,谢谢
'以下代码自动添加timer和调整form大小,仅供参考
'添加一个模块,写入
'=======================
Option Explicit
Type POINTAPI
X As Long
Y As Long
End Type
Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
'=======================
'以下代码写入form中
'===========================
Option Explicit
Dim Vt, V0, t As Single
Dim CurXY As POINTAPI ' 声明变量
Dim X0, Y0, X1, Y1, MX, MY, N As Single
Dim meclick As Boolean
Private WithEvents Timer1 As Timer
Private WithEvents Timer2 As Timer
Private Sub Form_Load()
MeBorderStyle = 1
MeWidth = 2000
MeHeight = 2000
Set Timer1 = ControlsAdd("vbtimer", "timer1")
Timer1Interval = 10
Set Timer2 = ControlsAdd("vbtimer", "timer2")
Timer2Enabled = False
Timer2Interval = 10
End Sub
Sub ks()
V0 = 0
Vt = 0
t = 0
Timer1Enabled = True
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
ks
Timer1Enabled = False
Timer2Enabled = True
meclick = True
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
meclick = False
Dim NewForm As Form
Set NewForm = Form1
Form1Show
End Sub
Private Sub Timer1_Timer()
Dim a As Integer
a = 10
If MeTop + MeHeight > ScreenHeight Then
V0 = Int(Vt 09)
MeTop = ScreenHeight - MeHeight
If Abs(V0) < 09 Then
Timer1Enabled = False
End If
t = 0
End If
t = t + 1
Vt = a t - V0
MeTop = MeTop + Vt
If MeLeft < 0 Then MeLeft = 0
If MeLeft > ScreenWidth - MeWidth Then MeLeft = ScreenWidth - MeWidth
End Sub
Private Sub Timer2_Timer()
N = 009
X0 = MeLeft + MeWidth / 2
Y0 = MeTop + MeHeight / 2
If meclick = True Then
GetCursorPos CurXY
X1 = CurXYX 15
Y1 = CurXYY 15
End If
MX = (X1 - X0) N
MY = (Y1 - Y0) N
If Abs(MX) < 5 And Abs(MY) < 5 And meclick = False Then
Timer2Enabled = False
ks
End If
MeLeft = MeLeft + MX
MeTop = MeTop + MY
End Sub
Dim h As Integer, h0 As Integer, d As Integer, n As Integer
Private Sub Command1_Click()
Timer1Enabled = True
Command1Enabled = False
End Sub
Private Sub Form_Load()
Shape1Shape = 3
Shape1FillStyle = 0
Shape1FillColor = vbYellow
d = 1
Timer1Interval = 50
Timer1Enabled = False
h = Shape1Top
h0 = h
End Sub
Private Sub Timer1_Timer()
If d = 1 Then
If Shape1Top < Form1Height - 1500 Then
Shape1Top = Shape1Top + 50
Else
d = 0
h = Form1Height - 1500 - (Form1Height - 1500 - h) / 2
End If
Else
If Shape1Top > h Then
Shape1Top = Shape1Top - 50
Else
d = 1
n = n + 1
If n > 10 Then Timer1Enabled = False
End If
End If
End Sub
所需要控件:shape1,timer1,command1,command2
Dim degree As Single
Const pi = 31415926
Dim v As Integer
Dim r As Single
Private Sub Command1_Click()
Timer1Enabled = False
Form_Load
End Sub
Private Sub Command2_Click()
Timer1Enabled = True
End Sub
Private Sub Form_Load()
MeShow
Shape1Shape = 3
Timer1Enabled = False
Timer1Interval = 100
Shape1Left = MeWidth Rnd
Shape1Top = MeHeight Rnd
degree = 2 pi Rnd
v = 150
r = 1
Command1Caption = "结束"
Command2Caption = "开始"
End Sub
Private Sub Timer1_Timer()
If Shape1Top > 0 And Shape1Left > 0 And (Shape1Left + Shape1Width) < MeWidth And (Shape1Top + Shape1Height) < MeHeight Then
Shape1Top = Shape1Top + Sin(degree) v r
Shape1Left = Shape1Left + Cos(degree) v r
v = v r
Else
Timer1Enabled = False
Call chagestate
End If
End Sub
Public Sub chagestate()
If Shape1Top <= 0 Or (Shape1Top + Shape1Height) >= MeHeight Then
degree = 2 pi - degree
If Shape1Top <= 0 Then Shape1Top = 1
If (Shape1Top + Shape1Height) >= MeHeight Then Shape1Top = MeHeight - Shape1Height - 1
End If
If Shape1Left <= 0 Or (Shape1Left + Shape1Width) >= MeWidth Then
If (Shape1Left + Shape1Width) >= MeWidth Then Shape1Left = MeWidth - Shape1Width - 1
If Shape1Left <= 0 Then Shape1Left = 1
If degree < pi / 2 Then degree = pi / 2 + degree
If degree > pi / 2 And degree < pi Then degree = 3 pi / 2 - degree
If degree > pi Or degree < 2 pi Then degree = 3 pi - degree
End If
v = 150
Timer1Enabled = True
End Sub
以上就是关于采用VB编程:一个小球从100m高处自由落下,每次落地后反d回原高度的一半再落下,求它在第10次落全部的内容,包括:采用VB编程:一个小球从100m高处自由落下,每次落地后反d回原高度的一半再落下,求它在第10次落、用VB设计一个动画,小球的d跳运动,小球的滚动、通过VB编写程序,单击开始,实现一个小球从高处落下,碰到地面后d起到原来高度的一半,再次落下......等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)