此次在上次的基础上增加了游戏分数的设置和对异常的处理。还增加了游戏难度的随机性,扩充了猜数的种类范围,在10, 50, 100, 200, 500, 1000中随机选择一种。增加了try{}catch{}语句。
package str;
import java.util.InputMismatchException;
import java.util.Random;
import java.util.Scanner;
public class Caishu {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Random rand = new Random();
int[] level = {10, 50, 100, 200, 500, 1000};
int le = level[rand.nextInt(level.length)];
int t = rand.nextInt(1, le + 1);
int num = 0;
int n = 0;
while (true) {
System.out.print("\033[34m请输入整数[1-" + le + "]:\033[0m");
try {
n = sc.nextInt();
} catch (InputMismatchException e) {
if ("exit".equals(sc.next())) {
break;
}
System.out.println("输入有误,必须输入数字");
continue;
}
if (n < 1 || n > le) {
System.out.printf("输入有误,必须输入[%d-%d]数字%n", 1, le);
continue;
}
++num;
if (n > t) {
System.out.printf("\033[31m%d、太大了\033[0m%n", num);
} else if (n < t) {
System.out.printf("\033[31m%d、太小了\033[0m%n", num);
} else {
System.out.printf("\033[32m恭喜,猜对了,游戏\033[31m %d \033[0m分\033[0m%n", 110 - num * 10);
break;
}
}
System.out.println("游戏结束");
}
}
结果呈现:
增加了分数的设置,猜的次数越多,分数越少。
感谢大家观看,希望能给大家带来帮助。