骰子游戏(JAVA)

importjava.util.Random;

importjava.util.*;

importjavax.swing.JOptionPane;

importjava.io.File;

importjava.util.HashMap;

importjava.util.Iterator;

importjava.util.Map;

importjava.util.Set;

importjava.util.Map.Entry;

publicclassDicerGame{

staticinta=0,b=0,c=0,d=0,e=0,f=0;

staticdoubleg=0;

Stringstr,str1,str2,str3;

intx[][]=newint[a][6];

inty=0;

intcount=0;

Stringz[]=newString[5];

Randomr=newRandom();

Map<String,Integer>map=newHashMap<String,Integer>();publicDicerGame(){

//if(o==1){

//给数组x[i][j]增加a*6个面的值

for(inti=0;i<x.length;i++){

for(intj=0;j<x[0].length;j++){

b=b+1;

x[i][j]=b;

if(b==6){

b=0;

}

}

}

//Z[F]用于统计随机抽出的骰子是不是全部一样

for(intp=0;p<x.length;p++){

c=r.nextInt(6);

y=x[p][c]+y;

z[f]=String.valueOf(x[p][c]);

f++;

"+z[4];

2+"元");

你输了");

"+z[4];}for(Stringstr:z){Integernum=map.get(str);num=null==num?1:num+1;map.put(str,num);}if(z.length!=map.size()){//System.out.println("存在相同的数字!");}Setset=map.entrySet();Iterator<Entry>it=set.iterator();while(it.hasNext()){Entry<String,Integer>entry=(Entry<String,Integer>)it.next();count++;}//判断结果d=1,d=2,d=3,d=4四种情况下得输赢if(d==1){str1="电脑的点数是"+y+"\n"+z[0]+""+z[1]+""+z[2]+""+z[3]+"if(y>((a*6)/2)){JOptionPane.showMessageDialog(null,str1+"\n"+"你赢了"+g*}elseif(y<=((a*6)/2)){JOptionPane.showMessageDialog(null,str1+"\n"+"你输了");}elseif(count==5){JOptionPane.showMessageDialog(null,str1+"\n"+"围骰,通杀"+"}}if(d==2){str1="电脑的点数是"+y+"\n"+z[0]+""+z[1]+""+z[2]+""+z[3]+"

if(y>=((a*6)/2)){

JOptionPane.showMessageDialog(null,str1+"\n"+"你输了");

}elseif(y<((a*6)/2)){

JOptionPane.showMessageDialog(null,str1+"\n"+"你赢了"

+g*2+"元");

}

elseif(count==5){

JOptionPane.showMessageDialog(null,str1+"\n"+"围骰,通杀"+"

你输了");

}

}

if(d==3){

str1="电脑的点数是"+y+"\n"+z[0]+""+z[1]+""+z[2]+""+z[3]+"

"+z[4];

if(y>((a*6)/2)){

JOptionPane.showMessageDialog(null,str1+"\n"+"你输了");

}elseif(y<((a*6)/2)){

JOptionPane.showMessageDialog(null,str1+"\n"+"你输了");

}elseif(y==((a*6)/2)){

JOptionPane.showMessageDialog(null,str1+"\n"+"你赢了"+g*

4+"元");

}

elseif(count==5){

JOptionPane.showMessageDialog(null,str1+"\n"+"围骰,通杀"+"

你输了");

}

}

if(d==4){

str1="电脑的点数是"+y+"\n"+z[0]+""+z[1]+""+z[2]+""+z[3]+"

"+z[4];

if(count==5){

JOptionPane.showMessageDialog(null,str1+"\n"+"你赢了"+g*

10

+"元");

}else

JOptionPane.showMessageDialog(null,str1+"\n"+"你输了");

}

}

publicstaticvoidmain(String[]args){

//e=Integer.valueOf(JOptionPane.showInputDialog("游戏类型(1:赌大小)"));

a=Integer.valueOf(JOptionPane.showInputDialog("亲,输入骰子个数(最大个数为5,最小个数为2):"));

if(a>5||a<=1){

JOptionPane.showMessageDialog(null,"亲,骰子个数不符合规定哦,请退出");System.exit(1);


}

g=Double.valueOf(JOptionPane.showInputDialog("亲,投注金额:"));

d=Integer.valueOf(JOptionPane.showInputDialog("亲,1:大,2:小,3:和4:围骰"));

if(d>4||d<0){

JOptionPane.showMessageDialog(null,"亲,这不可以买噢,请退出");

System.exit(1);

}

DicerGamedicer=newDicerGame();

}

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的双骰子游戏Java 代码示例: ```java import java.util.Random; public class DoubleDiceGame { public static void main(String[] args) { Random random = new Random(); int dice1 = 0, dice2 = 0, total = 0; int point = 0; boolean isWin = false; // 一直循环直到玩家赢或输 while (!isWin) { dice1 = random.nextInt(6) + 1; dice2 = random.nextInt(6) + 1; total = dice1 + dice2; System.out.println("你掷出了 " + dice1 + " 和 " + dice2 + ",总点数为 " + total); if (point == 0) { // 第一次掷骰子 if (total == 7 || total == 11) { isWin = true; System.out.println("你赢了!"); } else if (total == 2 || total == 3 || total == 12) { isWin = false; System.out.println("你输了!"); } else { point = total; System.out.println("你的点数是 " + point + ",再来一次掷骰子!"); } } else { // 不是第一次掷骰子 if (total == point) { isWin = true; System.out.println("你赢了!"); } else if (total == 7) { isWin = false; System.out.println("你输了!"); } else { System.out.println("你的点数是 " + point + ",再来一次掷骰子!"); } } } } } ``` 在这个程序中,我们使用了一个 `Random` 对象来生成骰子点数,然后根据点数判断玩家是赢还是输。在第一次掷骰子时,如果点数为 7 或 11 则玩家赢,如果点数为 2、3 或 12 则玩家输,否则玩家会得到一个点数并继续掷骰子。在后续的掷骰子中,如果点数等于第一次掷出的点数则玩家赢,如果点数为 7 则玩家输,否则继续掷骰子直到赢或输。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值