⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gambler.java

📁 这个也是用Java编写的博饼的游戏
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
		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&&currentflag54==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&&currentflag54==0&&currentflag51==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&&currentflag54==0&&currentflag51==0&&currentflag5==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 + -