📄 gambler.java
字号:
{are.append(nameofplayer+temp+ "还好还好,四进带二举:二举没了,还可得四进一个\n");sijin--;break loop1;}
if(sijin>=1&&erju>=1)
{are.append(nameofplayer+temp+ "运气真好,四进带二举:可得四进一个,再得二举一个\n");sijin--;erju--;break loop1;}
}
loop2: if( (str.charAt(0)=='4'||str.charAt(1)=='4'||str.charAt(2)=='4'||str.charAt(4)=='4'||str.charAt(5)=='4')&&str.charAt(3)=='1')
{
if(sijin<=0&&yixiu<=0)
{are.append(nameofplayer+temp+ "姥姥!四进带一秀:四进、一秀都没了!\n");break loop2;}
if(sijin<=0&&yixiu>=1)
{are.append(nameofplayer+temp+ "还好还好,四进带一秀:四进没了,还可得一秀一个\n");yixiu--;break loop2;}
if(sijin>=1&&yixiu<=0)
{are.append(nameofplayer+temp+ "还好还好,四进带一秀:一秀没了,还可得四进一个\n");sijin--;break loop2;}
if(sijin>=1&&yixiu>=1)
{are.append(nameofplayer+temp+ "运气真好,四进带一秀:可得四进一个,再得一秀一个\n");sijin--;yixiu--;break loop2;}
}
else if(sijin>=1)
{sijin--;are.append(nameofplayer+temp + " 四进:可得四进一个 \n");}
else
JOptionPane.showMessageDialog(null, "运气好,人品差,四进没有了兄弟,找块豆腐撞死吧!", "恭喜恭喜你",JOptionPane.INFORMATION_MESSAGE);
}
if (str.charAt(3)=='2'&&str.charAt(0)!='4'&&str.charAt(1)!='4'&&str.charAt(2)!='4'&&str.charAt(4)!='4'&&str.charAt(5)!='4')
{
if(erju>=1)
{are.append(nameofplayer+temp + " 二举:可得二举一个\n");erju--;}
else
JOptionPane.showMessageDialog(null, "运气好,人品差,二举都拿光了,抽自己去吧!", "恭喜恭喜你",JOptionPane.INFORMATION_MESSAGE);
}
if (str.charAt(3)=='1'&&!temp.equals("123456")&&str.charAt(0)!='4'&&str.charAt(1)!='4'&&str.charAt(2)!='4'&&str.charAt(4)!='4'&&str.charAt(5)!='4'
&&str.charAt(0)!='5'&&str.charAt(1)!='5'&&str.charAt(2)!='5'&&str.charAt(4)!='5'&&str.charAt(5)!='5')
{
if(yixiu>=1)
{are.append(nameofplayer+temp + " 一秀:可得一秀一个\n");yixiu--;}
else
JOptionPane.showMessageDialog(null, "运气好,人品差,一秀已经没有了,找地儿哭去吧!", "恭喜恭喜你",JOptionPane.INFORMATION_MESSAGE);
}
if (str.charAt(0)=='1'&&str.charAt(1)=='1'&&str.charAt(2)=='2'&&str.charAt(3)=='0'&&str.charAt(4)=='1'&&str.charAt(5)=='1')
{
are.append(nameofplayer+ temp + "这张臭手,投了个鸟, 罚黑:不可得饼 \n");
}
}
else
{ if(duitang==0)//一秀、二举、三红、四进博完,对堂未剩
{
if(currentflag4==0&¤tflag5==0&¤tflag51==0&¤tflag54==0)//状元未有人博到
{
JOptionPane.showMessageDialog(null, "一秀、二举、三红、四进、对堂都没有了,认了吧!\n 经过一轮残杀,还是没有投出状元\n为了结束这无休止的战斗,我们还是提高中状元的机率吧!\n每人允许投掷一次,6颗色子点数和最大者得饼,如遇相同点数,后者得之", "一决胜负",JOptionPane.INFORMATION_MESSAGE);
//投掷一圈,决定状元出现
int last[]=new int[6];
for (int j = 0; j<= 5; j++)
{
last[j] = (int) (Math.random() * 6 + 1);
}
sum1=last[0]+last[1]+last[2]+last[3]+last[4]+last[5];
if(sum1>=sum2 ){ sum2=sum1;are.append(nameofplayer+ sum1 + "决战结果:状元给我吧!\n");}
else are.append(nameofplayer+ sum1 + "决战结果:末了投了个鸟球!哪个阿咂泼才比洒家点数还高,气煞俺也\n");
lastflag++;
if(lastflag==i){JOptionPane.showMessageDialog(null, "游戏结束,各得各饼,准备下一轮!", "恭喜恭喜",JOptionPane.INFORMATION_MESSAGE);button.setEnabled(false);button.setEnabled(false);addbutton.setEnabled(false);}
}
else //前三甲均有主
{ JOptionPane.showMessageDialog(null, " 游戏结束!\n结果:\n状元得主:"+HolderOfZhuangyuan+"\n探花得主:"+HolderOfDuitang1+"\n榜眼得主:"+HolderOfDuitang2+"\n一秀,二举,三红,四进按先得即得分配", "恭喜恭喜",JOptionPane.INFORMATION_MESSAGE);button.setEnabled(false);addbutton.setEnabled(false);}
}
if(duitang!=0)//一秀、二举、三红、四进博完,对堂还剩
{
if(currentflag4==0&¤tflag5==0&¤tflag51==0&¤tflag54==0)//状元未有人博到
{
JOptionPane.showMessageDialog(null, "一秀、二举、三红、四进都没有了,认了吧!\n为了结束这无休止的战斗,我们还是提高中前三甲的机率吧!\n每人允许投掷一次,依6颗色子点数和由大到小排列大者得饼\n如遇相同点数,后者得之", "一决胜负",JOptionPane.INFORMATION_MESSAGE);
int last[]=new int[6];
for (int j = 0; j <= 5; j++)
{
last[j] = (int) (Math.random() * 6 + 1);
}
sum1=last[0]+last[1]+last[2]+last[3]+last[4]+last[5];
are.append(nameofplayer+ sum1 + "耐心等待中........\n");
lastflag++;
if(lastflag==i){JOptionPane.showMessageDialog(null, "游戏结束,各得各饼,准备下一轮!", "恭喜恭喜",JOptionPane.INFORMATION_MESSAGE);button.setEnabled(false);addbutton.setEnabled(false);}
}
else // 状元已有主,对堂还剩下
{
JOptionPane.showMessageDialog(null, " 状元已有主,对堂还剩下\n为了结束这无休止的战斗,我们还是提高高中的机率吧!\n每人允许投掷一次,依6颗色子点数和由大到小排列大者得饼\n如遇相同点数,后者得之", "一决胜负",JOptionPane.INFORMATION_MESSAGE);
int last[]=new int[6];
for (int j = 0; j <= 5; j++)
{
last[j] = (int) (Math.random() * 6 + 1);
}
sum1=last[0]+last[1]+last[2]+last[3]+last[4]+last[5];
are.append(nameofplayer+ sum1 + "耐心等待中........\n");
lastflag++;
if(lastflag==i){addbutton.setEnabled(false);JOptionPane.showMessageDialog(null, "游戏结束,各得各饼,准备下一轮!", "恭喜恭喜",JOptionPane.INFORMATION_MESSAGE);button.setEnabled(false);}
}
}
}//duitang不等于0的情况原本有漏洞,得了状元后直接结束了比赛,问题已得到解决
}
public void itemStateChanged(ItemEvent e)//选择新玩家后的设置
{
if(e.getSource()instanceof Choice)
{ String string=(String)e.getItem();
flag=string;
presslabel.setEnabled(true);
nextlabel.setEnabled(false);
}
}
public String ThereIs(int num[])
/*判断随机产生的6个数字中,分别出现1,2,3,4,5,6的个数,并以string的形式返回
* 比如随机数为 1,1,2,3,5,5,则返回值str为211020*/
{
String str = "";
int i;
int n[] = new int[] { 0, 0, 0, 0, 0, 0 };
for (i = 0; i <= 5; i++)
{
if (num[i] == 1)
n[0]++;
if (num[i] == 2)
n[1]++;
if (num[i] == 3)
n[2]++;
if (num[i] == 4)
n[3]++;
if (num[i] == 5)
n[4]++;
if (num[i] == 6)
n[5]++;
}
str = n[0]+""+n[1]+""+n[2]+""+ n[3]+""+n[4]+""+n[5];
return str;
}
public void start()
{
//线程开始
if(runner==null)
{
//如果线程维空
runner=new Thread(this);//开始新的线程
runner.start();//开始
}
}
public void stop()
{
if(runner!=null)
{
runner.stop();
runner=null;
}
}
public void run()
{
while(true)
{ String time;
timenow =new Date();
time=timenow.toString();
timelabel=new JLabel(time);
//timelabel.setForeground(new Color(72, 209, 204));
//timelabel.setBackground(Color.gray);
timelabel.setBorder(new BevelBorder(BevelBorder.LOWERED));
container.add(timelabel);
timelabel.setSize(185, 20);
timelabel.setLocation(105, 525);
//repaint();//重新绘制界面
try{Thread.sleep(1000);}
catch(InterruptedException e){}//捕获异常
timelabel.setText("");
}
}
public void update(Graphics g)
{
paint(g);
}
public Gambler()//构造函数
{
super();
getContentPane().setBackground(Color.ORANGE);
/*JMenuBar mb=new JMenuBar();
JMenu ml=new JMenu("文件");
JMenuItem ml1=new JMenuItem("保存");
JMenuItem ml2=new JMenuItem("退出");
ml1.setActionCommand("save");
ml2.setActionCommand("exit");
ml1.addActionListener(this);
ml2.addActionListener(this);
ml.add(ml1);
ml.addSeparator();
ml.add(ml2);
mb.add(ml);*/
}
public static void main(String []args)//用于application运行时的主函数
{
JFrame f=new JFrame("模拟博饼游戏");
f.setIconImage(SwingResourceManager.getImage(Gambler.class, "[Plugin]images/2.png"));
Gambler gambler=new Gambler();
gambler.init();
gambler.start();
f.add("Center",gambler);
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(1);
}
});
f.setSize(700, 590);
f.show();
}
public void AddNumberToFrame (int number[])//向附加显示窗口中添加数字图片
{ // showframe.paint(showframe.getGraphics());
showframe.dispose();
showframe.setResizable(false);
showframe.setIconImage(SwingResourceManager.getImage(Gambler.class, "/images/2.png"));
showframe.setForeground(Color.MAGENTA);
showframe.setAlwaysOnTop(true);
showframe=new JFrame("Image Show");
showframe.getContentPane().setBackground(new Color(224, 255, 255));
showframe.setLayout(null);
Panel spanel=new Panel();
spanel.setLayout(null);
spanel.setLocation(0, 0);
spanel.setSize(460, 150);
//ImageIcon picback;
//picback=new ImageIcon("images/clouds.jpg");
//JLabel backgrounds=new JLabel();
ImageIcon[] pic=new ImageIcon[6];
JLabel[] lblSaizi = new JLabel[6];
showframe.add(spanel);
for (int h = 0; h < 6; h++)
pic[h] = new ImageIcon("images/char" + (h + 1) + ".png");
for (int h = 0; h < 6; h++)
{
lblSaizi[h] = new JLabel(pic[h]);
lblSaizi[h].setSize(50, 50);
}
for (int h = 1; h < 7; h++)
{
lblSaizi[h - 1].setIcon(pic[number[h-1] - 1]);
spanel.add(lblSaizi[h - 1]);
lblSaizi[h - 1].setLocation(80*(h-1), 25);
}
showframe.setSize(460,150);
showframe.show();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -