我如何更改程序以使用for循环而不是do until循环?

时间:2019-04-26 20:12:14

标签: vb.net

我必须编写一个在土狼和路行者之间的竞赛程序。两者都从1开始,并且终点线是5。每次轮流移动直到达到5。我不知道如何使用for循环而不是do until循环来做到这一点。

Private Sub btnStart_Click(sender As Object, e As EventArgs) Handles btnStart.Click
        Dim moves, mover, r, c, d As Integer
        Dim rand As New Random
        r = 1
        c = 1


        Do Until c = 5 Or r = 5

            mover = rand.Next(2)
            If mover = 0 Then
                moves = rand.Next(1, 11)

                If moves <= 6 Then
                    r = r + 1

                ElseIf moves > 6 Then
                    r = r + 2
                End If

            End If

            If mover = 1 Then
                moves = rand.Next(1, 11)

                If moves <= 6 Then
                    c = c + 1

                ElseIf moves > 6 Then
                    c = c + 2
                End If
            End If

        Loop

        If r = 5 Then
            lblWinner.Text = ("Roadrunner is the winner!")
        End If
        If c = 5 Then
            lblWinner.Text = ("Coyote is the winner!")

        End If

    End Sub

2 个答案:

答案 0 :(得分:0)

如果您确切知道循环将执行多少次,请使用For循环。如果迭代次数未知,请使用While循环。您知道该程序准确执行的次数吗?不可以。每次可以移动2步,并在5圈内结束比赛。因此,通过循环可能在5到10圈之间,因此未知循环执行的确切次数。

答案 1 :(得分:0)

尽管Loop Until似乎是解决问题的方法,但是如果有特定的原因想要使用for循环,则可以始终使用:

If (c = 5) OrElse (r = 5) Then
    Exit For
End If