@Java
Java中利用for循环来实现简单的“三局两胜制-人机猜拳”
大家好,我是Ziph!
今天分享一篇Java基础关于for循环的经典案例题如下:
游戏规则:
定义一个玩家与电脑猜拳(石头、剪刀、布),相信大家这个游戏应该会玩吧。那让我们来用所学进行功能的实现。
思路:
玩家用输入0、1、2来模拟石头、剪刀、布,而电脑随机生成0、1、2来进行猜拳游戏,利用for循环来控制三局两胜的游戏规则。
代码如下:
import java.util.Scanner;
import java.util.Random;
public class TestGuess {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//人机猜拳(0.剪刀、1.石头、2.布)
//随机产生一个 0、1、2的整数
//获得一个随机数
Random random = new Random();
int computerCount = 0;
int playerCount = 0;
System.out.println("-----------------------------------------");
System.out.println("-----------------人机猜拳----------------");
System.out.println("-----------------------------------------");
//三局两胜制
for (int i = 1; i <= 3 ; ) {
int computer = random.nextInt(3);//随机获取 0、1、2
System.out.print("请玩家输入数字(0.剪刀、1.石头、2.布):");
int player = sc.nextInt();
if (player < 0 || player > 2) {
System.out.println("输入有误,请输入(0.剪刀、1.石头、2.布)正确的游戏编号!");
} else {
//猜拳比较
if (computer == player) {//平局
System.out.println("平局,再接再厉!");
continue;//跳过平局的本次循环,为保证平局的i不做计算继续保持三局两胜的游戏规则
} else if ((player == 0 && computer == 2) || (player == 1 && computer == 0) || (player == 2 && computer == 1)) {
System.out.println("恭喜,你获胜了!");
playerCount++;//玩家胜场数
} else {
System.out.println("很遗憾,你输了!");
computerCount++;//电脑胜场数
}
//判断双方是否连胜两局,如果连胜两局需要 break;结束
if (playerCount == 2) {
System.out.println("最终玩家获胜!");
break;
} else if (computerCount == 2) {
System.out.println("最终电脑获胜!");
break;
}
i++;//平局跳过的循环不进行累加运算,来保持三局两胜的游戏规则
}
}
}
}
运行结果如下:
看来我今天的运气不太好,输给了电脑。不过你要知道你的努力是不会白费的,只要努力是可以在人生中赢得胜利的!
如有问题请留言回复,谢谢大家!