- 剪刀石头布游戏
package package1;
import java.util.Scanner;
public class JavaTest(){
public static void main(String[] args){
//人机猜拳
//约定 1.剪刀 2.石头 3.布
Scanner input = new Scanner(System.in);
//第三次拓展,循环外加入count计数,实现 三局两胜
//电脑计数器
int cCount = 0;
//玩家计数器
int pCount = 0;
//此处加入for循环实现 三局 (第一次拓展)
//(第二次拓展)时更换i ++ 位置,移动到循环外
for(int i = 1 ; i <= 3 ; ){
//这里利用random函数实现随机数(random范围:0 < random < 1 )[0到1之间]
//然后 乘10 取值范围变为 0~9
//再 对3取余 得到结果只有 0 1 2 三个选项
//最后 结果 +1 实现取值 1 2 3
int computer = ((int)(Math.random() * 10)) % 3 + 1 ;
System.out.println("请输入猜拳的编号:1.剪刀 2.石头 3.布:");
int player = input.nextInt();
//比较 判断玩家与电脑 平手 的情况
if(player = computer){
System.out.println("不错哟,打成平手,再接再厉!");
//此处添加 continue 并将 i ++ 更换位置,达到 平局重来 的效果(第二次拓展)
continue;
//判断 玩家 赢 的情况
}else if((player == 1 && computer == 3) || (player == 2 && computer == 1) || (player == 3 && computer == 2)){
System.out.println("恭喜,你赢了!");
//分别加入判断中(第三次拓展)
pCount ++;
//否则 输
}else{
System.out.println("可惜,你输啦!");
//分别加入判断中(第三次拓展)
cCount ++;
}
//加入判断,任意一方赢两次之后结束比赛跳出(第三次拓展)
if(cCount == 2 || pCount ==2){
break;//else if尝试输出哪方胜利
}
//将自增次数移到此处(三局)(第二次拓展)
i ++;
}
}
}
人机猜拳 最终版
//人机猜拳
//设定 1,剪刀 2,石头 3,布
package package1;
//导入Random和Scanner包
import java.util.Random;
import java.util.Scanner;
/**
* @author Cg
*/
public class JavaTest{
public static void main(String[] args) {
//声明Scanner
Scanner input = new Scanner(System.in);
//声明Random
Random rd = new Random();
//设置计数器,达到三局两胜的效果,即任意一方赢两次后结束
int cCount = 0;
int pCount = 0;
//采用三局两胜制,三局
int game = 3;
for(int i = 1 ; i <= game ; ){
//电脑先出
int computer = rd.nextInt(3) + 1;
//此行可显示电脑猜拳编号
//System.out.println("电脑出了" + computer);
System.out.println("请输入您猜拳的编号:1.剪刀 2.石头 3.布:");
//玩家控制从键盘输入(限定值 1剪刀 2石头 3布)
int player = input.nextInt();
//定义一个布尔变量,使得后方语句内变简洁
boolean youWin = (computer == 1 && player == 2) || (computer == 2 && player == 3) || (computer == 3 && player == 1);
if(computer == player){
System.out.println("平局,请再来一次");
continue;
} else if(youWin){
System.out.println("恭喜你,这次你赢了");
pCount ++;
}else{
System.out.println("很抱歉,这次你输啦");
cCount ++;
}
//每做完一轮后检测是否达到胜利需求
if(pCount == 2){
System.out.println("哎哟,精神小伙儿~你赢得了比赛");
break;
}else if(cCount ==2){
System.out.println("啧啧啧,不太行啊~下次继续努力");
break;
}
//将局数自增放到后面
i ++;
}
}
}
//三局两胜,检测胜利,是否可以把条件 三局 去掉,只检测 两胜 ?
//测试后,通过,注解掉游戏次数,将for变成死循环后,(自增相应注解掉)只需修改胜利次数即可改变规则
本文详细介绍了一个使用Java实现的剪刀石头布游戏,通过循环和随机数生成实现了人机对战的三局两胜机制。游戏通过Scanner接收用户输入,并使用Random生成计算机的选择。
468

被折叠的 条评论
为什么被折叠?



