上更可维护
Module Module1
Sub MoveLeft()
Console.WriteLine("You Moved Left")
End Sub
Sub MoveRight()
Dim Number As String
Console.WriteLine("You Moved Right")
Randomize()
Number = Int(Rnd() * 10) + 1
If Number = 1 To 2 Then
Console.WriteLine(" An Enemy Appeared")
ElseIf
Console.WriteLine(" The Way Is Clear")
End If
End Sub
Sub Shoot()
Console.WriteLine("Pew")
End Sub
Sub Main()
Dim quit As Boolean = False
Dim key As String = ""
Do While quit = False
If Console.KeyAvailable Then
key = Console.ReadKey(0).Key
If key = 81 Then
quit = True
End If
Select Case key
Case 37
MoveLeft()
Case 39
MoveRight()
Case 32
Shoot()
End Select
End If
Loop
End Sub
End Module
我如何获得一个随机数来滚动并使某些值使敌人出现,而其他值则不出现。
而不是
Randomize()
Number = Int(Rnd() * 10) + 1
If Number = 1 To 2 Then
Console.WriteLine(" An Enemy Appeared")
ElseIf
End If
尝试
Dim rnd As New Random
Select Case rnd.Next(5)
Case 1
Console.WriteLine(" An Enemy Appeared")
Case Else
Console.WriteLine(" The Way Is Clear")
End Select
此代码创建一个称为rnd
的新的随机随机数发电机,在1
和5
之间生成一个随机数,如果随机数为1
,则出现敌人。如果随机数是其他任何东西,则清晰的方式。
您只需要一系列5
和检查结果是否为1
,因为这与10
范围相同并检查1
或2
尽管计算速度在您的程序中并不那么重要,但我认为使用Select Case
语句可能比您的原始代码快 - 以后在
' Initialize the random-number generator.
Randomize()
' Generate random value between 1 and 10.
Dim number As Integer = CInt(Int((10 * Rnd()) + 1))
' Show enemy if the integer number is smaller than 3 (= 1, 2)
If number < 3 Then
'your method here to have enemy appear
Else
Console.WriteLine(" The Way Is Clear")
End If