在我们这里喝酒的时候有个小游戏,名字叫老虎棒子鸡。
游戏共有四个物品,老虎,棒子,鸡,虫。
游戏规则:老虎吃鸡,鸡吃虫,虫咬棒子,棒子打老虎。其他情况为和局。
主要使用do while , if else if, switch case, 以及if else
代码如下:
import java.util.Scanner;//导入Scanner包
import java.util.Random;//导入Random包,产生随机数
//老虎游戏(老虎、棒子、鸡)
//说明:老虎吃鸡,鸡吃虫,虫咬棒子,棒子打老虎
public class TigerGame{
public static void main(String[]args){
System.out.println("---------------欢迎来到老虎游戏---------------");
System.out.println("-说明:老虎吃鸡,鸡吃虫,虫咬棒子,棒子打老虎-");
int n = 0;//定义一个整数型 n,作为玩家胜利条件,n>=2时,玩家胜利,反之玩家输。
int sum = 0;//定义整数型 sum ,记录比赛次数,一方胜利为一局。当sum=3时游戏结束(三局两胜制)
Scanner scanner = new Scanner(System.in);
Random random = new Random();
//进入循环语句,当 sum=3 时结束,
do{
System.out.println("-------------请选择你要出阵的物品-------------");
System.out.println("1.老虎n2.鸡n3.虫n4.棒子");
int i = scanner.nextInt();//获取玩家输入数字
int a = random.nextInt(4-1+1)+1;//获取一个[1,4]的随机数, 语法格式;random.nextInt(最大值-最小值+最小值)+最小值;
//判断玩家和电脑的胜败
if(i==1)
switch(a){
case 1:
System.out.println("两虎相争,请重选");
break;
case 2:
System.out.println("猛虎吃鸡,你赢了");
n++;
sum++;
break;
case 3:
System.out.println("虎大虫小,请重选");
break;
case 4:
System.out.println("棒子打老虎,你输了");
sum++;
break;
}
else if(i==2)
switch(a){
case 1:
System.out.println("猛虎吃鸡,你输了");
sum++;
break;
case 2:
System.out.println("双凤飞舞,请重选");
break;
case 3:
System.out.println("雄鸡吃虫,你赢了");
n++;
sum++;
break;
case 4:
System.out.println("棒打鸡飞,请重选");
break;
}
else if(i==3)
switch(a){
case 1:
System.out.println("虎大虫小,请重选");
break;
case 2:
System.out.println("雄鸡吃虫,你输了");
sum++;
break;
case 3:
System.out.println("二虫戏珠,请重选");
break;
case 4:
System.out.println("蛀虫蚀棒,你赢了");
n++;
sum++;
break;
}
else if(i==4)
switch(a){
case 1:
System.out.println("棒子打老虎,你赢了");
n++;
sum++;
break;
case 2:
System.out.println("棒打鸡飞,请重选");
break;
case 3:
System.out.println("蛀虫蚀棒,你输了");
sum++;
break;
case 4:
System.out.println("棍棒互抗,请重选");
break;
}
else
System.out.println("输入错误,请重选");
}while(sum<=2);
if(n>=2)
System.out.println("天下无双,你赢了");
else
System.out.println("你败了,再接再厉");
}
}
新手练习发帖,不喜勿喷。
如果代码有改进之处,请大佬留言。



