用 Java 建立一個猜數遊戲

Zeeshan Afridi 2023年10月12日
用 Java 建立一個猜數遊戲

猜謎遊戲對使用者來說非常簡單;它只是在 k 次試驗中猜測正確的數字來贏得比賽。但對於開發者而言,事情就沒有那麼簡單了。

用 Java 建立一個猜數遊戲

作為開發人員,你需要牢記這款遊戲的約束和演算法。

猜謎遊戲規則

你必須牢記規則才能開發猜謎遊戲。為了贏得遊戲,使用者必須滿足遊戲的定義約束。

  1. 數量範圍可以根據你的喜好而有所不同;但是,對於這個程式,範圍是從 1 到 100。

  2. 如果猜中的數字大於使用者輸入的數字,程式將回復訊息:哎呀!你的猜測太高了,請嘗試一些較低的數字

  3. 如果猜中的數字小於使用者輸入的數字,程式將回復訊息:Opss!你的猜測太低了,請嘗試一些更高的數字

  4. 如果使用者輸入的數字與實際猜中的數字相同,則使用者中獎。將顯示的訊息是完美!你答對了!

    將要求使用者再次播放。他可以選擇終止比賽或重新比賽。

  5. 如果達到了嘗試次數的限制,並且使用者沒有猜到次數,遊戲將結束並顯示訊息:

    The number was 64
    Better luck next time
    Want to Play again?(y/n)
    

    使用者可以再次玩遊戲或退出遊戲。

在 Java 中建立猜謎遊戲的演算法

該演算法是逐步解決問題的方法。猜謎遊戲的演算法非常簡單。

讓我們看看用 Java 開發猜謎遊戲的步驟。

  • 從程式中取出一個隨機數並將其儲存在整數資料型別的變數中。
  • 現在,從使用者那裡獲取輸入。輸入資料型別必須與實際隨機數相同。
  • 下一步是比較使用者的號碼和實際的隨機數。
  • 如果使用者猜測的數字大於實際隨機數,則顯示訊息 Higher value
  • 如果使用者猜測的數字小於實際隨機數,則顯示訊息 Lower value
  • 如果使用者猜測的數字等於實際的隨機數。使用者贏得了比賽;要求再玩。
  • 如果達到了軌跡數,而使用者還沒有猜到數字,則顯示實際數字並要求再次播放。

使用 Random() 方法在 Java 中生成隨機數

在 Java 中生成隨機數非常容易。Java 專門為隨機數 java.util.Random 提供了一個完整的庫,你可以使用 import 關鍵字輕鬆匯入它。

在 Java 中匯入隨機數的正確語法是 import java.util.Random;

示例程式碼:

package articlecodesinjava;
import java.util.Random;
public class GuessingGame {
  public static void main(String[] args) {
    int x;
    Random generator = new Random();
    System.out.println("5 random numbers from 0 to 10");
    for (int i = 0; i < 5; i++) {
      x = generator.nextInt(5);
      System.out.print(x + " , ");
    }
  }
}

輸出:

5 random numbers from 0 to 10
3 , 1 , 3 , 4 , 4 ,

Java 猜謎遊戲的示例程式碼

package articlecodesinjava;
import java.util.Random;
import java.util.Scanner;

public class GuessingGame {
  public static void main(String[] args) {
    int ans, guess, guessNum = 0;
    final int maxGuesses = 5;
    String str, playAgain = "y";

    Scanner scan = new Scanner(System.in);
    Random generator = new Random();
    ans = generator.nextInt(101) + 1;

    while (playAgain.equals("y") || playAgain.equals("Y")) {
      System.out.println("Hey Welcome to the game \nGuess a number between 1 and 100");
      System.out.println("Guess a number (0 to quit):");

      guess = scan.nextInt();
      guessNum = 0;
      while (guess != 0) {
        guessNum++;
        if (guess == ans) {
          System.out.println("Perfect! You got it Right!");
          break;
        } else if (guess < ans)
          System.out.println("Opss! Your guess was too LOW, try some higher numbers.");
        else if (guess > ans)
          System.out.println("Opps! Your guess was too HIGH, Try some lower numbers");
        if (guessNum == maxGuesses) {
          System.out.println("The number was " + ans + "\nBetter luck next time");
          break;
        }
        System.out.println("Enter your guess (0 to quit):");
        guess = scan.nextInt();
      }
      System.out.println("Want to Play again?(y/n)");
      playAgain = scan.next();
    }
    System.out.println("Thanks for playing!");
  }
}

輸出:

Hey Welcome to the game
Guess a number between 1 and 100
Guess a number (0 to quit):
1
Opss! Your guess was too LOW, try some higher numbers.
Enter your guess (0 to quit):
2
Opss! Your guess was too LOW, try some higher numbers.
Enter your guess (0 to quit):
55
Opss! Your guess was too LOW, try some higher numbers.
Enter your guess (0 to quit):
76
Opps! Your guess was too HIGH, Try some lower numbers
Enter your guess (0 to quit):
78
Opps! Your guess was too HIGH, Try some lower numbers
The number was 64
Better luck next time
Want to Play again?(y/n)
作者: Zeeshan Afridi
Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn