📄 gambler.java
字号:
container.add(restartlabel);
restartlabel.setLocation(480, 270);
restartlabel.setSize(100, 40);
container.add(helplabel);
helplabel.setLocation(480, 200);
helplabel.setSize(100, 40);
container.add(addPlayerlabel);
addPlayerlabel.setLocation(480, 345);
addPlayerlabel.setSize(100, 40);
//Font f = new Font("Arial Black", Font.BOLD, 65);
//addPlayerlabel.setFont(f);
addbutton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{ if(i>=10)
{
JOptionPane.showMessageDialog(null,"为方便起见,最大玩家数\n为10,已超过了最大玩家数\n请等下一轮,谢谢合作.", "Information",JOptionPane.OK_OPTION);
addbutton.setEnabled(false);
}
else
{
playername[i] ="Player"+(i+1)+": "+ JOptionPane.showInputDialog("请输入您的昵称(必填)\n");
if(playername[i]!=""&&playername[i]!=null)
{
choice.add(playername[i]);
i++;
}
}
}
});
button.addActionListener(this);
readmebutton.addActionListener(this);
checkbox.addActionListener(this);
disableshow.addActionListener(this);
choice.addItemListener(this);
Helpbutton.addActionListener(this);
restartbutton.addActionListener(this);
}
public void actionPerformed(ActionEvent evt)
{
String str = "";
String temp = "";
if(evt.getSource()==disableshow)//disableshow复选框
{
if(disableshow.isSelected())
{showframe.hide();
showflag=false;}
else{showframe.show();
showflag=true;}
}
if(evt.getSource()==checkbox)
{
button.setEnabled(!button.isEnabled());
}
if(evt.getSource()==restartbutton)//重新开始按钮按下
{
are.setText("");
choice.removeAll();
i=0;
flag="";
lastflag=0;
sum1=0;sum2=0;
zhuangyuan=1;
duitang=2;
sanhong=4;
sijin=8;
erju=16;
yixiu=32;
HolderOfZhuangyuan="";
HolderOfDuitang1="";
HolderOfDuitang2="";
currentflag4=0;newflag4=0;currentflag5=0;newflag5=0;currentflag51=0;newflag51=0;currentflag54=0;newflag54=0;
addbutton.setEnabled(true);
button.setEnabled(true);
showframe.dispose();
}
if(evt.getSource()==button)//博饼按钮按下
{
presslabel.setEnabled(false);
nextlabel.setEnabled(true);
button.setSelected(!button.isSelected());
for (int j = 0; j <= 5; j++)
{
number[j] = (int) (Math.random() * 6 + 1);
}
str = ThereIs(number);
temp = number[0] + "" + number[1] + "" + number[2] + "" + number[3]+ "" + number[4] + "" + number[5] + "";
if(showflag==true)
AddNumberToFrame(number);
repaint();
setplayer(flag,str,temp,i);
//A1.play();
}
if(evt.getSource()==Helpbutton)//帮住按钮按下
{
ta.setSize(600, 600);
JOptionPane.showMessageDialog(null,scroll, "Information",JOptionPane.PLAIN_MESSAGE);
//choice.addItem("此用户已注销");
}
if (evt.getSource() == readmebutton)
{
//省去了帮助功能,可自行添加
}
}
public void setplayer(String flag,String str,String temp,int i)
/*判断得饼情况,添加了追缴功能,所以代码偏长
* 由于用else if 时出现了很多错误,所以改为只用if,缺陷是情况考虑复杂*/
{
String nameofplayer=flag;//当前玩家姓名
if(yixiu>=1||erju>=1||sanhong>=1||sijin>=1)//未得饼
{
if (str.charAt(3)=='0'&&!temp.equals("123456")&&str.charAt(0)!='6'&&str.charAt(1)!='6'&&str.charAt(2)!='6'&&str.charAt(4)!='6'&&str.charAt(5)!='6'
&&str.charAt(0)!='4'&&str.charAt(1)!='4'&&str.charAt(2)!='4'&&str.charAt(4)!='4'&&str.charAt(5)!='4'&&!temp.equals("112011")
&&str.charAt(0)!='5'&&str.charAt(1)!='5'&&str.charAt(2)!='5'&&str.charAt(4)!='5'&&str.charAt(5)!='5'&&
!(str.charAt(0)=='1'&&str.charAt(1)=='1'&&str.charAt(2)=='2'&&str.charAt(3)=='0'&&str.charAt(4)=='1'&&str.charAt(5)=='1'))
{
int random =(int)( 1 + Math.random() * 7);
switch ( random )
{
case 1:
are.append(nameofplayer+temp + " 太倒霉了!什么也没得到.\n");
break;
case 2:
are.append(nameofplayer+temp + " 龟儿子,啥子也没有!\n");
break;
case 3:
are.append(nameofplayer+temp + " 点儿真背,什么熊玩意儿.\n");
break;
case 4:
are.append(nameofplayer+temp + " 运气差了,喝口凉水都塞牙!\n");
break;
case 5:
are.append(nameofplayer+temp + " 苍天哪,大地哪!\n");
break;
case 6:
are.append(nameofplayer+temp + " 莫灰心,莫生气,还有机会.\n");
break;
case 7:
are.append(nameofplayer+temp + " 万事俱备,只欠东风!\n");
break;
}
}
if (str.charAt(0)=='2'&&str.charAt(3)=='4')//只要有这种情况就置zhuangyuan为0,其他状元的情况就不用判断了
{
are.append(nameofplayer+temp+ " 状元插金花:得状元和两个对堂不被追缴\n");
if(zhuangyuan==0)
JOptionPane.showMessageDialog(null, "真晦气,好不容易得个状元还被人早拿了!\n", "恭喜恭喜我自己",JOptionPane.INFORMATION_MESSAGE);
if(zhuangyuan==1)
JOptionPane.showMessageDialog(null, "自觉点哈,探花、榜眼全都放在哥哥俺手里!\n", "恭喜恭喜我自己",JOptionPane.INFORMATION_MESSAGE);
HolderOfZhuangyuan=flag;
HolderOfDuitang1=flag;
HolderOfDuitang2=flag;
zhuangyuan=0;
duitang=0;
currentflag5=2424;
}
if (str.charAt(3)=='6')//只要有这种情况就置zhuangyuan为0,其他状元的情况就不用判断了
{
are.append(nameofplayer+temp+ " 六勃红:得整会的饼,不能追缴状元插金花所得\n");
if(zhuangyuan==1)//还没有状元插金花
{
JOptionPane.showMessageDialog(null, " 游戏结束\n 兄弟们,不好意思三,没的玩了\n除状元插金花得主外其他的都交到哥哥手上!\n 哥哥会分给你们点的,都乖!", "恭喜恭喜",JOptionPane.INFORMATION_MESSAGE);
zhuangyuan=0;
duitang=0;
HolderOfZhuangyuan=flag;
HolderOfDuitang1=flag;
HolderOfDuitang2=flag;
currentflag5=6666;
}
if(zhuangyuan==0){zhuangyuan=0;JOptionPane.showMessageDialog(null, " 游戏结束\n 兄弟们,不好意思三,没的玩了\n除状元插金花得主外其他的都交到哥哥手上!\n 哥哥会分给你们点的,都乖!", "恭喜恭喜",JOptionPane.INFORMATION_MESSAGE);}
button.setEnabled(false);
}
if (str.charAt(0)=='6')
{
are.append(nameofplayer+ temp + " 遍地锦:掷六个幺花,可得桌上所剩之饼\n");
JOptionPane.showMessageDialog(null, " 游戏结束\n都别抢了,桌上剩下的都我的了!", "恭喜恭喜",JOptionPane.INFORMATION_MESSAGE);
button.setEnabled(false);
}
if (str.charAt(1)=='6'||str.charAt(2)=='6'||str.charAt(4)=='6'||str.charAt(5)=='6')
{
are.append(nameofplayer+temp+ " 见鬼了!六勃黑!\n");
JOptionPane.showMessageDialog(null, " 游戏结束\n熄灯,抢饼,Ready! Go!", "欠揍的家伙",JOptionPane.INFORMATION_MESSAGE);
button.setEnabled(false);
}
if (str.charAt(3)=='5')
{ if(zhuangyuan!=0)
are.append(nameofplayer+temp + " 五红:不客气了,状元我先拿着.\n");
else are.append(nameofplayer+temp + " 五红:suck!状元早被拿了.\n");
newflag54=Integer.parseInt(str.charAt(0)+"")*1+Integer.parseInt(str.charAt(1)+"")*2+Integer.parseInt(str.charAt(2)+"")*3+Integer.parseInt(str.charAt(4)+"")*5+Integer.parseInt(str.charAt(5)+"")*6;
if(newflag54>=currentflag54&&zhuangyuan!=0){ currentflag54=newflag54; HolderOfZhuangyuan=flag;}
}
if ((str.charAt(0)=='5'||str.charAt(1)=='5'||str.charAt(2)=='5'||str.charAt(4)=='5'||str.charAt(5)=='5')&&str.charAt(3)=='1')
{
newflag51=Integer.parseInt(str.charAt(0)+"")*1+Integer.parseInt(str.charAt(1)+"")*2+Integer.parseInt(str.charAt(2)+"")*3+Integer.parseInt(str.charAt(4)+"")*5+Integer.parseInt(str.charAt(5)+"")*6;
// 应该分开看,5子的话,相同点数大的就比另一个相同点数的就大,问题已解决
if(newflag51>=currentflag51&&zhuangyuan!=0&¤tflag54==0){ currentflag51=newflag51;are.append(nameofplayer+temp + " 不客气了,状元我先拿着.\n");HolderOfZhuangyuan=flag;}
else if(newflag51<=currentflag51||zhuangyuan==0||currentflag54!=0) are.append(nameofplayer+temp + " 五子带一秀:suck!状元已落某人贼手.\n");
if(yixiu<=0)
{are.append(nameofplayer+temp+ "五子带一秀:姥姥!一秀都没了!\n");}
if(yixiu>=1)
{are.append(nameofplayer+temp+ "五子带一秀:运气真好,还可先得一秀一个.\n");yixiu--;}
}
if (str.charAt(0)=='5'||str.charAt(1)=='5'||str.charAt(2)=='5'||str.charAt(4)=='5'||str.charAt(5)=='5'&&str.charAt(3)!='1')
{ //五子有问题,应该分开看,5子的话,相同点数大的奴婢另一个相同点数的就大,问题已解决
newflag5=Integer.parseInt(str.charAt(0)+"")*1+Integer.parseInt(str.charAt(1)+"")*2+Integer.parseInt(str.charAt(2)+"")*3+Integer.parseInt(str.charAt(4)+"")*5+Integer.parseInt(str.charAt(5)+"")*6;
if(newflag5>=currentflag5&&zhuangyuan!=0&¤tflag54==0&¤tflag51==0) {currentflag5=newflag5;HolderOfZhuangyuan=flag;are.append(nameofplayer+temp + " 五子:状元我先拿着.\n");}
else if(currentflag54!=0||currentflag51!=0 ||newflag5<=currentflag5||zhuangyuan==0)are.append(nameofplayer+temp + " 五子:suck!状元早被拿了.\n");
}
if (str.charAt(3)=='4'&&str.charAt(0)!=2)
{
newflag4=Integer.parseInt(str.charAt(0)+"")*1+Integer.parseInt(str.charAt(1)+"")*2+Integer.parseInt(str.charAt(2)+"")*3+Integer.parseInt(str.charAt(4)+"")*5+Integer.parseInt(str.charAt(5)+"")*6;
if(newflag4>=currentflag4&&zhuangyuan!=0&¤tflag54==0&¤tflag51==0&¤tflag5==0) {currentflag4=newflag4;HolderOfZhuangyuan=flag;are.append(nameofplayer+temp + " 状元:状元我先拿着.\n");}
else are.append(nameofplayer+temp + " 状元:还有人比我运气还好,到手的鸟飞了.\n");
}
if (temp.equals("123456"))
{
if(duitang==1) {are.append(nameofplayer+temp + " 对堂:可先得对堂一个\n");HolderOfDuitang2=flag;}
if(duitang==2) {are.append(nameofplayer+temp + " 对堂:可先得对堂一个\n");HolderOfDuitang1=flag;}
if(duitang==0&&(currentflag5==2424||currentflag5==6666)) {duitang=0;JOptionPane.showMessageDialog(null, "不要客气,追缴上家得对堂者.如果他不给,暴力解决.", "恭喜恭喜你",JOptionPane.INFORMATION_MESSAGE);HolderOfDuitang2=flag;}
if(duitang>=1) duitang--;
}
if (str.charAt(3)=='3')
{
if(sanhong>=1)
{are.append(nameofplayer+temp + " 三红:可得三红一个\n");sanhong--;}
else
JOptionPane.showMessageDialog(null, "运气好,人品差,三红都拿光了,抽自己去吧!", "恭喜恭喜你",JOptionPane.INFORMATION_MESSAGE);
}
if (str.charAt(0)=='4'||str.charAt(1)=='4'||str.charAt(2)=='4'||str.charAt(4)=='4'||str.charAt(5)=='4')
{
loop1: if ((str.charAt(0)=='4'||str.charAt(1)=='4'||str.charAt(2)=='4'||str.charAt(4)=='4'||str.charAt(5)=='4')&&str.charAt(3)=='2')
{
if(sijin<=0&&erju<=0)
{are.append(nameofplayer+temp+ "姥姥!四进带二举:四进、二举都没了!\n");break loop1;}
if(sijin<=0&&erju>=1)
{are.append(nameofplayer+temp+ "还好还好,四进带二举:四进没了,还可得二举一个\n");erju--;break loop1;}
if(sijin>=1&&erju<=0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -