(1)每次根據玩家的輸入與亂數比較後,使用者輸入數值過大提示玩家too high,使用者輸入數值過小提示玩家too small,使用者猜中提示bingo;
(2)一次遊戲終止條件:猜中或超過5次未猜中。猜中輸出「You win!」,未猜中輸出「You lose!」;
(3)每次遊戲終止時,提示使用者「是否繼續遊戲?(Y/N)」,「是」則開始新遊戲,「否」則退出遊戲;
(4)使用者輸入0,則輸出「使用者終止遊戲」終止遊戲並退出;
(5)設計類中的靜態方法(static方法),實現上述功能,方法數量無限制。
public static void main(String[] args) {
int a = 0;
while (true) {
if (a == 1) {
System.out.println("使用者終止遊戲!");
break;
}
System.out.println("是否開始遊戲(Y/N)");
@SuppressWarnings("resource")
Scanner sc = new Scanner(System.in);
char input = sc.nextLine().charAt(0);
if (input == 'Y') {
System.out.println("開始遊戲!");
for (int i = 0; i < 5;) {
@SuppressWarnings("resource")
Scanner sc2 = new Scanner(System.in);
// 接收資料
System.out.println("請輸入你要猜的資料(1-100):");
int guessNumber = sc2.nextInt();
if (guessNumber == 0) {
a = 1;
break;
} else {
setRandom(guessNumber, i);
i++;
}
if (i == 5) {
System.out.println("You lose!");
}
}
} else if (input == 'N') {
System.out.println("退出遊戲!");
break;
} else {
System.out.println("請輸入正確的符號!");
}
}
}
public static void setRandom(int guessNumber, int i) {
int number = (int) Math.floor(Math.random() * 10);// 生成0-100的亂數
if (number != 0) {
if (guessNumber > number) {
System.out.println("您猜的數位" + guessNumber + "\ntoo hight" + ",您還剩" + (4 - i) + "次機會");
i++;
} else if (guessNumber < number) {
System.out.println("您猜的數位" + guessNumber + "\nto small" + ",您還剩" + (4 - i) + "次機會");
i++;
} else {
System.out.println("You Win!");
return;
}
}
}
陣列元素使用0-9數位、a-z和A-Z隨機生成。
public static void main(String[] args) {
int[] a = new int[20];
int count = 0;
while (count <= 19) {
int t = (int) (Math.random() * 1000);// 抽取的數值小於char型別的「z」
if ((t >= 0 & t <= 9) | (t >= 65 & t <= 90) | (t >= 97 & t <= 122)) {
a[count] = t;
count++;
}
}
for (int i = 0; i < 20; i++) {
if (a[i] >= 0 & a[i] <= 9)
System.out.print(a[i] + "\t");
else
System.out.print((char) a[i] + "\t");
//ASCII
}
}