寻找弹跳球的总行进距离

时间:2015-10-28 18:02:56

标签: vb.net

我正在编写一个程序,根据初始高度和恢复系数计算出球落下的次数。我无法弄清楚如何跟踪球被反弹的总距离,这是我到目前为止所拥有的。

Option Strict On
Public Class Form1
Private Sub btnAnalyze_Click(sender As Object, e As EventArgs) Handles btnAnalyze.Click
    Dim Coef = CDbl(txtRes.Text)
    Dim Height = CDbl(txtHeight.Text)
    Dim NHeight As Double = Coef * Height
    Dim Count As Integer = 0
    Dim Distance As Double
    Dim NDistance As Double
    Do While NHeight > 0.1
        NHeight = NHeight * Coef
        Distance = Height + 2 * NHeight
        Count = Count + 1
    Loop
    lblHeight.Text = CStr(Distance)
    lblBounce.Text = CStr(Count + 1)
End Sub
End Class

1 个答案:

答案 0 :(得分:0)

您只是将Distance设置为循环内当前弹跳的距离。尝试在每个循环中将其与自身相加;得到以下特性:

...
Do While NHeight > 0.1
    NHeight = NHeight * Coef
    Distance = Distance + (Height + 2 * NHeight)
    Count = Count + 1
Loop
...

不要忘记在循环之外初始化Distance