偶尔看到的了一个需求,闲来无事就简单写了一下,仅供学习娱乐,欢迎指正交流。
骰子数: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); }
运行截图: