在指定範圍內生成一個隨機數作為目標值,用戶對目標值進行猜測。 import java.util.Random; // 隨機數 import java.util.Scanner; // 獲取用戶輸入 public class Example { public static void main(Stri ...
在指定範圍內生成一個隨機數作為目標值,用戶對目標值進行猜測。
import java.util.Random; // 隨機數 import java.util.Scanner; // 獲取用戶輸入 public class Example { public static void main(String[] args) { Random rand = new Random(); Scanner in = new Scanner(System.in); // in 為一個變數 // 是否開始游戲 boolean isPlay = true; // 設置游玩次數 int count = 7; // 設置已玩次數 int havePlay = 0; // 設置隨機數邊界值 (這裡也可以由用戶自行輸入) int min = 10; int max = 90; // 指定範圍[min,max]隨機數公式:Random.nextInt(max-min+1)+min; int randNum = rand.nextInt(max-min+1)+min; // 生成目標值在(min,max)雙開區間 int goal = randNum; if (randNum == min) { goal += 1; }else if (randNum == max) { goal -= 1; } // 邏輯部分 while(isPlay) { if (havePlay==0) { // 首次游玩時給出範圍 System.out.println("指定範圍為:(" + min + ", " + max + "),輸入負數可退出游戲。"); } System.out.println("請輸入你的猜想:"); int guessNum = in.nextInt(); // 讀入猜測數字 count--; // 每猜一次,猜測機會減少一次 havePlay++; // 每猜一次,已玩次數增加一次 // 游戲規則:1 輸入負數,退出游戲。 2 猜中答案,跳出迴圈,游戲結束。3 猜測數字和目標值的關係對比 if (guessNum < 0) { System.out.println("玩家選擇退出游戲。"); isPlay = !isPlay; } else if (guessNum == goal) { System.out.println("恭喜您用了" + havePlay + "次猜中了答案!答案為" + goal + "。游戲結束~"); break; } else if (guessNum > goal && count > 0) { System.out.println("比目標值大了哦~您還剩" + count + "次機會。"); } else if (guessNum < goal && count > 0) { System.out.println("比目標值小了哦~您還剩" + count + "次機會。"); } else if (count <= 0) { System.out.println("您的機會已經用盡,正確答案為:" + goal); break; } } } }
(運氣比較好,兩次就猜中了。。。)
游戲改良:在這個程式中,我們還可以規定:1. 隨機數邊界值;2. 游玩的次數。