简单的骰子游戏

偶尔看到的了一个需求,闲来无事就简单写了一下,仅供学习娱乐,欢迎指正交流。

骰子数:3个

奖励倍数:1-9倍

奖励结果 = 赌注 * 奖励倍数

游戏玩法选择:  猜和值,猜和值大小单双,猜点数,猜点数两同,猜点数三同且猜中点数,猜点数三同不猜点数

游戏玩法步骤: 

        1. 运行程序

        2. 控制台输入玩法标识  1--猜和值 2--猜和值大小 3--猜和值单双 4--猜点数 5--猜两同 6--猜点数三同且猜中点数 7--猜点数三同 不猜点数

        3. 控制台输入竞猜(和值3-18/大小00,01/单双10,11/点数 1-3个以逗号隔开的数字/三同点数 1-6).注 猜两同 猜三同不猜点数 可随意输入

        4. 控制台输入赌注(数字)

        5. 回车查看奖励

CODE:

	//骰子游戏
	public static void diceGame() {
		//初始化奖励倍数
		int times1=1;//猜中和值的奖励倍数
		int times2=2;//猜中和值大小的奖励倍数
		int times3=3;//猜中和值单双的奖励倍数
		int times4=4;//猜中点数的个数为1个的奖励倍数
		int times5=5;//猜中点数的个数为2个的奖励倍数
		int times6=6;//猜中点数的个数为3个的奖励倍数
		int times7=7;//猜中点数两同的奖励倍数
		int times8=8;//猜中点数三同的奖励倍数
		int times9=9;//猜中点数三同通选的奖励倍数
		//生成三个 1-6 随机数 a,b,c
		int a=(int) (Math.random()*6+1);
		int b=(int) (Math.random()*6+1);
		int c=(int) (Math.random()*6+1);
		System.out.println(a+","+b+","+c);
		//最终奖励倍数 times 初始化为0
		int times = 0;
		//三个随机数的玩法组合结果 result: 和值,和值大小单双,猜中点数的个数,点数两同,点数三同,点数三同通选
		String resultFlag = null;//标识选择的玩法(输入1,2,3,4....)
		String result= null;//用户的竞猜结果
		String beans= null;//用户竞猜的金豆数
		Scanner s = new Scanner(System.in);
		do {
			resultFlag = s.nextLine();
		}while(resultFlag.length()==0);
		do {
			result = s.nextLine();
		}while(result.length()==0);
		do {
			beans = s.nextLine();
		}while(beans.length()==0);
		//猜和值
		if(resultFlag.equals("1")) {//猜和值
			if(a+b+c==Integer.parseInt(result)) {
				System.out.println("猜中和值");
				times = times1;
			}
		}
		//猜和值大小
		if(resultFlag.equals("2")) {
			if(a+b+c<=10&&result.equals("00")) {//字符串标识 "00" 大 "01"小
					System.out.println("猜中和值小");
					times = times2;
			}else if((a+b+c)%2==1&&result.equals("01")){
				System.out.println("猜中和值大");
				times = times2;
			}
		}
		//猜和值单双
		if(resultFlag.equals("3")) {
			if((a+b+c)%2==1&&result.equals("10")) {//字符串标识 "10" 单 "11"双
				System.out.println("猜中和值单数");
				times = times3;
			}else if((a+b+c)%2==0&&result.equals("11")){
				System.out.println("猜中和值双数");
				times = times3;
			}
		}
		//猜点数
		if(resultFlag.equals("4")) {
			String[] res = result.split(",");//猜点数玩法  用户输入一行1-3个数以逗号隔开
			if(res.length==1) {//猜一个数
				if(a==Integer.parseInt(res[0])||b==Integer.parseInt(res[0])||c==Integer.parseInt(res[0])) {
					System.out.println("猜中三个随机数中含有某一个点数");
					times = times4;
				}
			}
			if(res.length==2) {//猜两个数
				if(a==Integer.parseInt(res[0])&&b==Integer.parseInt(res[1])
						||a==Integer.parseInt(res[1])&&b==Integer.parseInt(res[0])) {
					times = times5;
				}
				if(a==Integer.parseInt(res[0])&&c==Integer.parseInt(res[1])
						||a==Integer.parseInt(res[1])&&c==Integer.parseInt(res[0])) {
					times = times5;
				}
				if(b==Integer.parseInt(res[0])&&a==Integer.parseInt(res[1])
						||b==Integer.parseInt(res[1])&&a==Integer.parseInt(res[0])) {
					times = times5;
				}
				if(b==Integer.parseInt(res[0])&&c==Integer.parseInt(res[1])
						||b==Integer.parseInt(res[1])&&c==Integer.parseInt(res[0])) {
					times = times5;
				}
				if(c==Integer.parseInt(res[0])&&a==Integer.parseInt(res[1])
						||c==Integer.parseInt(res[1])&&a==Integer.parseInt(res[0])) {
					times = times5;
				}
				if(c==Integer.parseInt(res[0])&&b==Integer.parseInt(res[1])
						||c==Integer.parseInt(res[1])&&b==Integer.parseInt(res[0])) {
					times = times5;
				}
			}
			if(res.length==3) {//猜三个数
				if(a==Integer.parseInt(res[0])&&b==Integer.parseInt(res[1])&&c==Integer.parseInt(res[2])) {
					times = times6;
				}
				if(a==Integer.parseInt(res[0])&&b==Integer.parseInt(res[2])&&c==Integer.parseInt(res[1])) {
					times = times6;
				}
				if(a==Integer.parseInt(res[1])&&b==Integer.parseInt(res[0])&&c==Integer.parseInt(res[2])) {
					times = times6;
				}
				if(a==Integer.parseInt(res[1])&&b==Integer.parseInt(res[2])&&c==Integer.parseInt(res[0])) {
					times = times6;
				}
				if(a==Integer.parseInt(res[2])&&b==Integer.parseInt(res[0])&&c==Integer.parseInt(res[1])) {
					times = times6;
				}
				if(a==Integer.parseInt(res[2])&&b==Integer.parseInt(res[1])&&c==Integer.parseInt(res[0])) {
					times = times6;
				}
			}
		}
		if(resultFlag.equals("5")) {//猜两同
			if(a==b||a==c||b==c) {
				System.out.println("猜中两同");
				times = times7;
			}
		}
		if(resultFlag.equals("6")) {//猜三同
			if(a==b&&b==c&&a==Integer.parseInt(result)) {
				System.out.println("猜三同且猜中数字");
				times = times8;
			}
		}
		if(resultFlag.equals("7")) {//猜三同通选
			if(a==b&&b==c) {
				System.out.println("猜中三同");
				times = times9;
			}
		}
		//打印输出  奖励数=金豆数*倍数
		System.out.println(Integer.parseInt(beans)*times);
	}

 运行截图:

转载于:https://my.oschina.net/u/3300279/blog/2243367

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值