游戏规则:
主持人在数字范围内随机确定一个数字,作为炸弹数字,玩家轮流猜数字,谁猜中这个炸弹就被惩罚。比如范围是1~100,炸弹是60,然后猜了一个数字是50,50不是炸弹,那么现在猜数字的范围就缩小到50~100;又猜了一个数字80,80也不是炸弹,那么现在又缩小范围到50~80,每次猜不能猜边界上的值,直到有人猜中这个炸弹,然后就受到惩罚。
源代码:
首先定义两个边界数字,number_max,number_min(根据自己的需要来设定),在定义变量guess时需要注意变量的范围,在循环体中定义会报错!
import java.util.Scanner;
public class guess {
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
int number = (int) (Math.random() * 1000);
int guess;
int number_min = 0;//定义数字炸弹的范围
int number_max = 1000;
System.out.print("Please enter a larger number between 1 and 1000:");
do {
guess = console.nextInt();
//如果在此处定义声明guess,int guess =console.nextInt();将会报错,变量的范围!!!
if (guess < number) {
number_min = guess;
System.out.printf("Please enter a larger number between %d and %d:", number_min, number_max);
}
else if (guess > number)
{
number_max = guess;
System.out.printf("Please enter a smaller number between %d and %d:", number_min, number_max);
}
} while (guess != number);//当猜中时退出循环
System.out.println("Good,You Got It!");
}
}