设计想法来源于假期逛科技馆时玩过的猜生肖小游戏
一,同上次的小游戏一样,利用最简单的输入输出语句来达到一个互动效果
二,利用了计算机的二进制原理,为每一个星座编码了一个二进制数,输入对应的1或者0,便对应了编码好的一个数。
例如,如果你是双鱼座,便会输入0100,而0100转换成10进制为0*2^0+1*2^1+0*2^2+0*2^3
也就是0+2+0+0=2,2对应的正好是双鱼座。
实际中,在隐藏了数字的情况下能猜出是二进制原理还是有点难度的
public class game {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("欢迎来到神奇的星座世界");
System.out.println("接下来你只需要回答我是或者否、我就能猜到你的星座");
System.out.println("以下是否有你的星座,是选择1 否选择0");
int count = 0;//用来跳出循环进入下一个循环语句
int num = 0;//把每次的二进制的选择转换成对十进制数的相加
if(count == 0){
System.out.println("水瓶座 白羊座 双子座 狮子座 天秤座 射手座");
int sc = scanner.nextInt();
if (sc == 0) {
num += 0;
}if(sc == 1){
num +=1;
}count ++;
} if(count == 1){
System.out.println(" 双鱼座 白羊座 巨蟹座 狮子座 天蝎座 射手座");
int sc = scanner.nextInt();
if (sc == 0) {
num += 0;
}if(sc == 1){
num +=2;
}count ++;
} if(count == 2){
System.out.println("金牛座 双子座 巨蟹座 狮子座 摩羯座");
int sc = scanner.nextInt();
if (sc == 0) {
num += 0;
}if(sc == 1){
num += 4;
}count ++;
} if(count == 3){
System.out.println("处女座 天秤座 天蝎座 射手座 摩羯座");
int sc = scanner.nextInt();
if (sc == 0) {
num += 0;
}if(sc == 1){
num += 8 ;
}count ++;
}
switch (num){
case 1:
System.out.println("水瓶座");
break;
case 2:
System.out.println("双鱼座");
break;
case 3:
System.out.println("白羊座");
break;
case 4:
System.out.println("金牛座");
break;
case 5:
System.out.println("双子座");
break;
case 6:
System.out.println("巨蟹座");
break;
case 7:
System.out.println("狮子座");
break;
case 8:
System.out.println("处女座");
break;
case 9:
System.out.println("天秤座");
break;
case 10:
System.out.println("天蝎座");
break;
case 11:
System.out.println("射手座");
break;
case 12:
System.out.println("摩羯座");
break;
}
}
}