代码:
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("感谢您的光临,祝您愉快!");
}
}