我试图在Vb中为控制台游戏做一个if语句

时间:2017-02-21 14:59:54

标签: vb.net

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

如何获取随机数滚动并使某些值使敌人出现而其他值不会出现。

2 个答案:

答案 0 :(得分:1)

而不是

 @Api(
      name = "myApi",
      version = "v1",
      namespace = @ApiNamespace(
        ownerDomain = "awesome.me.com",
        ownerName = "awesome.me.com",
        packagePath = ""
      )
    )
    public class MyEndpoint{


     @ApiMethod(name = "getPeriod")
  public Period getPeriod(@Named("days")long days) {
    return Handler.getPeriod(days);
  }
  //other api methods
    }

尝试

    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 的新随机随机数生成器,生成rnd1之间的随机数,如果随机数为5则会出现敌人。如果随机数是其他任何东西,方法很清楚。

您只需要一系列1并检查结果是否为5,因为它与1的范围相同,并检查10的结果1}}或1

虽然计算速度在您的程序中并不重要,但我认为使用2语句可能比原始代码更快 - 并且以后可以更容易维护

答案 1 :(得分:0)

' 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