跳轉至內容

程式設計基礎:隨機數生成

來自華夏公益教科書,開放書籍,開放世界

試卷 1 - ⇑ 程式設計基礎 ⇑

← 內建函式 隨機數生成 子程式(函式和過程) →


大多數遊戲的一個重要部分是使用隨機數的能力。這些可能用於隨機放置地圖上的金幣,或者計算你是否在一定距離內用步槍擊中目標。

Dim rndGen As New Random()
Dim randomNumber As Integer
randomNumber = rndGen.Next()

上面的程式碼將為您提供 1 到 2,147,483,647 之間的隨機數。您可能需要一個稍微小一點的數字。要獲得兩個設定數字之間的隨機數,在本例中為 5 和 10,您可以使用以下程式碼

randomNumber = rndGen.Next(5,10)

那麼我們究竟如何使用它呢?看一下下面的遊戲

Dim rndGen As New Random()
Dim randomNumber As Integer
Dim guess as Integer
randomNumber = rndGen.Next(1,100)
console.writeline("Please guess the random number between 1 and 100")
Do 
  console.write("your guess:")
  guess = console.readline()
  if guess > randomNumber
    console.writeline("Too High")
  end if
  if guess < randomNumber
    console.writeline("Too Low")
  end if
Loop While guess <> randomNumber
console.writeline("Well done, you took x guesses to find it!")

調整上面的程式碼以告知使用者他們找到了隨機數需要多少次猜測。提示:您需要一個變數

答案

    Sub Main()
        Dim rndGen As New Random()
        Dim randomNumber As Integer
        Dim guess As Integer
        Dim count As Integer = 1
        randomNumber = rndGen.Next(1, 100)


        Console.WriteLine("Please guess the random number between 1 and 100")
        Do
            Console.Write("your guess:")
            guess = Console.ReadLine()
            If guess > randomNumber Then
                Console.WriteLine("Too High")
            End If
            If guess < randomNumber Then
                Console.WriteLine("Too Low")
            End If
            If guess <> randomNumber Then
                count = count + 1
            End If
            If guess = randomNumber Then
                Console.WriteLine("Well done, you took " & count & " guesses to find it!")
            End If

        Loop
    End Sub
華夏公益教科書