import java.util.*;

/**
 * @Author:
 * @Date:2023/3/20 17:18
 * @Item:
 */
public class Luck {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        /*实现菜单的输出显示
                需求说明
        输出菜单
        选择菜单编号,输出菜单信息
        如果编号选择错误,输出“您的输入有误!”*/
        /**
         * 系统询问用户是否继续
         * 如果用户选择继续,则可以继续选择菜单,否则程序结束,退出系统
         */
        System.out.println("*******欢迎进入奖客富翁系统*******");
        System.out.println("1.注册");
        System.out.println("2.登录");
        System.out.println("3.抽奖");
        System.out.println("*****************************");
        String answer = null;//是否继续
        String registerUserName = "";//注册用户名
        String registerPassword = null;//注册密码
        String loginUserName = null;//登录用户名
        String loginPassword = null;//登录密码
        int cardNumber = 0;//随机卡号
        int cardNumber2 = 0;//随机卡号
        int cardNumber3 = 0;//随机卡号
        int loginCardNumber = 0;//登录随机卡号
        int[] luckNum = new int[5];//幸运数字数组
        boolean isOk = false;//判断是否是幸运会员
        boolean isReg = false;//是否注册
        boolean isLogin = false;//是否登录
        /*系统询问用户是否继续
        如果用户选择继续,则可以继续选择菜单,否则程序结束,退出系统*/
        do {
            System.out.println("请选择菜单:");
            int gameNo = scanner.nextInt();
            //首先完成注册
            /*if (registerUserName.isEmpty() && gameNo != 1) {
                System.out.println("请先注册!");
                answer = "y";
                continue;
            }*/
           /* if (isReg == false && gameNo != 1) {
                System.out.println("请先注册!");
                answer = "y";
                continue;
            }*/
            switch (gameNo) {
                case 1:
                    System.out.println("[奖客富翁系统 > 注册]");
                    /**
                     * 输入用户名和密码,系统产生4位随机数作为卡号。
                     * 注册成功,显示注册信息并修改注册标识为true
                     */
                    System.out.println("请填写个人注册信息:");
                    System.out.println("用户名:");
                    registerUserName = scanner.next();
                    System.out.println("密码:");
                    registerPassword = scanner.next();
                    System.out.println();
                    System.out.println("注册成功,请记好您的会员卡号");
                    System.out.println("用户名\t密码\t\t会员卡号");
                    //生成随机4位数[3种方法不考虑概率]
                    cardNumber = (int) (Math.random() * 9000 + 1000);
                    cardNumber2 = (int) (Math.random() * 10000);
                    if (cardNumber2 < 1000) cardNumber2 += 1000;
                    do {
                        cardNumber3 = (int) (Math.random() * 10000);
                    } while (cardNumber3 < 1000);
                    isReg = true;
                    System.out.println(registerUserName + "\t" + registerPassword + "\t" + cardNumber);
                    break;
                case 2:
                    //判断用户是否注册
                    if (isReg==false){
                        System.out.println("您尚未注册,请先注册");
                        break;//跳过case2剩余代码,直接出switch
                    }
                    System.out.println("[奖客富翁系统 > 登录]");
                    /*输入注册时的用户名和密码,登录成功,提示欢迎信息
                    如果用户名和密码输入错误,提示用户继续输入,
                    最多有3次输入机会*/
                    for (int i = 1; i <=3 ; i++) {
                        System.out.println("请输入用户名:");
                        loginUserName = scanner.next();
                        System.out.println("请输入密码:");
                        loginPassword = scanner.next();
                        if (loginPassword.equals(registerPassword) && loginUserName.equals(registerUserName)) {
                            System.out.println("欢迎您" + loginUserName);
                            isLogin=true;
                            break;//跳出for循环
                        } else {
                            if (3-i>0) {
                                System.out.println("您的用户名或密码输入错误!");
                                System.out.println("您的还有" + (3 - i) + "次机会");
                            }else {
                                System.out.println("请重新登录");
                            }
                        }
                    }
                    break;
                case 3:
                    //判断用户是否登录
                    if (isLogin==false){
                        System.out.println("您尚未登录,请先登录");
                        break;//跳过case3剩余代码,直接出switch
                    }
                    System.out.println("[奖客富翁系统 > 抽奖]");
                    do {
                        System.out.println("请输入您的卡号:");
                        loginCardNumber = scanner.nextInt();
                        if (loginCardNumber != cardNumber) {
                            System.out.println("请输入自己的会员号!");
                            continue;
                        }
                        System.out.println();
                        System.out.print("本日的幸运数字为:");
                        for (int i = 0; i < luckNum.length; i++) {
                                luckNum[i] = (int) (Math.random() * 9000 + 1000);
                            System.out.print(luckNum[i] + "\t");
                            if (loginCardNumber == luckNum[i]) {
                                isOk = true;
                            }
                        }
                        System.out.println();
                        if (isOk != true) {
                            System.out.println("抱歉!您不是本日的幸运会员!");
                            break;
                        } else {
                            System.out.println("恭喜你!中奖了!");
                            break;
                        }
                    } while (loginCardNumber != cardNumber);
                    break;
                default:
                    System.out.println("您的输入有误!");
                    break;
            }
            System.out.println("是否继续(y/n)");
            answer = scanner.next();
            if (answer.equals("n")) {
                System.out.println("系统退出,谢谢使用!");
                break;
            }
        } while (answer.equals("y"));
    }
}