初级模拟玩骰子猜大小游戏

代码:

 
 
package net.day06027;

import java.util.Scanner;
import java.util.regex.Pattern;

/**   
*    
* 项目说明:模拟赌博:随机产生三个1到6的数模拟骰子,玩家下注猜大小
* 创建人:Administrator   
* 创建时间:2019年6月28日 上午8:15:44   
* @version        
*/
public class DuBo {
    static Scanner input = new Scanner(System.in);

    public static void main(String[] args) {
        System.out.println("*************欢迎来到皇家赌场!*************");
        boolean flag = true;
        do {
            //兑换筹码
            System.out.println("请输入您要兑换的筹码(万元):");
            String myMoney = input.next();
//            正则表达,解决输入非数字为字母的可能
            Pattern pattern1 = Pattern.compile("[0-9]*");
            boolean isNum = pattern1.matcher(myMoney).matches();
            // 判断条件
            if (isNum == false) {
                System.out.println("您输入的不是数字,请重新输入!");
                //输入正确开始进入游戏
            } else if (Integer.parseInt(myMoney) >= 50) {
                int myMoney1 = Integer.parseInt(myMoney);
                System.out.println("请您确认是否开始游戏(y/n)!");
                boolean flag1 = false;
                String sc = input.next();
                //给玩家一个悔悟的机会
                do {
                    if (sc.equals("y")) {
                        //random()方法产生三个1-6的随机数,并计算三个数之和
                        int a = (int) (Math.random() * 6 + 1);
                        int b = (int) (Math.random() * 6 + 1);
                        int c = (int) (Math.random() * 6 + 1);
                        int sum = a + b + c;
                        //玩家下注,并规定下注范围
                        System.out.print("请您选择压大/小(大/小)!:");
                        String choose = input.next();

                        System.out.print("请您押注筹码(筹码不得小于10):");
                        boolean flag2;
                        int chip = input.nextInt();
                        do {
//                            flag = false;

                            if (chip < 10 || chip > myMoney1) {
                                flag2 = true;
                                System.out.print("请您押注筹码的筹码不合法,请重新押注(筹码不得小于10):");
                                chip = input.nextInt();
                                // break;
                            } else {
                                System.out.println("您押注的筹码为:" + chip);
                                String result = sum > 10 ? "大" : "小";
                                if (choose.equals(result)) {
                                    System.out.println("买定离手!结果是:" + a + "\t" + b + "\t" + c + "\t" + sum + result);
                                    myMoney1 += chip;
                                    System.out.println("您当前剩余筹码为" + myMoney1);
                                    System.out.println("您是否继续游戏?(y/n):");
                                    sc = input.next();
                                    flag1 = true;
                                    break;
                                } else {
                                    System.out.println("买定离手!结果是:" + a + "\t" + b + "\t" + c + "\t" + sum + result);
                                    myMoney1 -= chip;
                                    if (myMoney1 < 50) {
                                        flag2 = false;
                                        flag1 = false;
                                        System.out.println("您当前余额为:" + myMoney1 + ",余额不足,无法继续游戏!");
                                        break;
                                    } else {
                                        System.out.println("您当前剩余筹码为" + myMoney1);
                                        System.out.println("您是否继续游戏?(y/n):");
                                        sc = input.next();
                                        flag1 = true;
                                        break;
                                    }

                                }
                            }
                            // break;
                        } while (flag2);

                    } else {
                        flag1 = false;
                        flag = false;
                        break;
                        // System.out.println("请您确认是否开始游戏(y/n)!");
                    }
                } while (flag1);

            } else {
                flag = false;
                System.out.println("您的筹码不足,无法进行游戏!");
                break;
            }
            break;
        } while (flag);

        System.out.println("感谢您的光临,祝您愉快!");
    }
}
 
 
 
 

   

猜你喜欢

转载自www.cnblogs.com/Dean-0/p/11100678.html
今日推荐