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