猜拳小游戏

在这里插入图片描述

import java.util.Random;
import java.util.Scanner;

public class Test {

public static void main(String[] args) {
	// TODO 由用户输入用户名后 选择对战对象1.刘备2.关羽3.张飞 开启一轮游戏 
	//计算机随机出拳 用户选择1.石头2.剪刀3.布
	//判断胜负 统计分数 一轮游戏有三局 采取三局两胜 三局(一轮)结束后输出分数

	//一轮游戏结束后 询问用户是否继续 继续则重复以上动作
	//退出游戏前 输出总共进行了几轮游戏 用户和计算机得分
    
	Scanner input =new Scanner(System.in);
	Random random = new Random();
	System.out.println("请输入用户名:");
	String name = input.next();//保存输入的用户名
	System.out.println("请选择对战对象1.刘备2.关羽3.张飞");
	int figure =0;//初始化用户选在的对战对象
	String fig ="";//初始化对战对象名
	figure = input.nextInt();//保存用户选择的对象
	int a=0,b=0;//保存计算机和用户出的拳
	int numA=0,numB=0;//保存三局中计算机和用户胜利的次数
	int sumA=0,sumB=0;//保存计算机和用户的得分
	String msg1 = "";//初始化计算机出的拳
	String msg2 = "";//初始化用户出的拳
	String msg3 = "";//保存胜利者姓名
	int c = 0;//保存进行了几轮游戏
	//将figure数字对象转换为文字姓名
	if(figure==1) {
		fig = "刘备";
	}else if(figure==2) {
		fig = "关羽";
	}else if(figure==3) {
		fig = "张飞";
	}
	while(true) {
		
		numA=0;//初始化计算机胜利次数
		numB=0;//初始化用户胜利次数
		//三局两胜猜拳
		for(int i=0;i<3;i++) {
			a=random.nextInt(3)+1;//保存计算机的随机出拳
			//System.out.println(a);
			System.out.println("请选择1.石头2.剪刀3.布");
			b=input.nextInt();//保存用户的出拳
			
			if(a==1&&b==2) {//计算机出石头,用户出剪刀,计算机胜,记录一次
				numA=numA+1;//计算机胜利次数加1
				msg3=fig;//将用户选择的对战对象名赋值给msg3
			}else if(a==1&&b==3) {//计算机出石头,用户出布,用户机胜,记录一次
				numB=numB+1;//用户胜利次数加1
				msg3=name;//将用户名赋值给msg3
			}else if(a==2&&b==1) {//计算机出剪刀,用户出石头,用户机胜,记录一次
				numB=numB+1;
				msg3=name;
			}else if(a==2&&b==3) {//计算机出剪刀,用户出布,计算机胜,记录一次
				numA=numA+1;
				msg3=fig;
			}else if(a==3&&b==2) {//计算机出布,用户出剪刀,用户机胜,记录一次
				numB=numB+1;
				msg3=name;
			}else if(a==3&&b==1) {//计算机出布,用户出石头,计算机胜,记录一次
				numA=numA+1;
				msg3=fig;
			}
			//将计算机随机的数字转化为文字
			if(a==1) {
				msg1="石头";
			}else if(a==2) {
				msg1="剪刀";
			}else if(a==3) {
				msg1="布";
			}
			//将用户随机的数字转化为文字
			if(b==1) {
				msg2="石头";
			}else if(b==2) {
				msg2="剪刀";
			}else if(b==3) {
				msg2="布";
			}
			//当计算机出拳与用户出拳相同时输出平局
			if(a==b) {
				System.out.println("平局");	
			}else {
				System.out.println(fig+"出了"+msg1+",你出了"+msg2+","+msg3+"胜");
			}
			
		}
		//判断计算机和用户谁胜利的次数多,胜利次数多的积一分
		if(numA==numB) {
			System.out.println("平局,不计分");
		}else if(numA>numB) {
			System.out.println(fig+"胜,计1分");
			sumA=sumA+1;
		}else if(numB>numA) {
			System.out.println(name+"胜,计1分");
			sumB=sumB+1;
		}
		//输出得分情况
		System.out.println(fig+"得分"+sumA+","+name+"得分"+sumB);
		//询问用户是否继续,输入n退出循环
		System.out.println("共玩了"+(++c)+"轮");
		System.out.println("是否继续猜拳y/n:");
		if(input.next().equals("n")) {
			System.out.println("退出猜拳");
			break;
		}else {
			System.out.println("进入下一局");
		}
	}
	
	
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值