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

📄 game.java

📁 J2ME实现得梭哈游戏联网程序
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
		}


	}
	void DrawMovePai(Graphics g,int direct,int tile)
	{
		//System.out.println(tile+"drawmovepai!!!!!!!!!!!"+direct);
		int lastx=-1;
		int lasty=-1;
		int dx=-1;
		int dy=-1;
		if(tile-1<2)
		{
			lastx=250;
			lasty=40;

		}
		if(direct>0&&direct<=2)
		{
			dx=GameDef.PaiPosition[direct][0]+50;
			dy=GameDef.PaiPosition[direct][1]-(6-tile+1)*45;
		}
		else if(direct>=3&&direct<=4)
		{
			dx=GameDef.PaiPosition[direct][0]-50;
			dy=GameDef.PaiPosition[direct][1]-(6-tile+1)*45;
		}
		else	
		{
			dx=GameDef.PaiPosition[direct][0];
			dy=GameDef.PaiPosition[direct][1]-(6-tile+1)*45;
		}
		g.setClip(lastx,lasty,45,45);
		DrawBack(g);
		if(tile<2)
		{
			dx=250;
			dy=40;
		}
		else
		{
			if(direct>0&&direct<=2)
			{
				dx=GameDef.PaiPosition[direct][0]+50;
				dy=GameDef.PaiPosition[direct][1]-(6-tile)*40;
			}
			else if(direct>=3&&direct<=4)
			{
				dx=GameDef.PaiPosition[direct][0]-50;
				dy=GameDef.PaiPosition[direct][1]-(6-tile)*40;
			}
			else	
			{
				dx=GameDef.PaiPosition[direct][0];
				dy=GameDef.PaiPosition[direct][1]-(6-tile)*40;
			}
		}
		g.drawImage( ImgMode[GameDef.ImgCardFace],dx,dy,0);
	}

	void UpdateMovePai()
	{


		int i=MoveUser;
		//System.out.println(MoveUser+"MoveUser"+MoveIndex);
		if(MoveUser==i)
		{
			if(MovePai[i][MoveIndex][0]>=0)
			{
				//System.out.println(MovePai[i][MoveIndex][0]+"MovePai[i][MoveIndex][0]");
				MoveTile[i]+=1;
				BdrawMoveCard[i]=true;
				if(MoveTile[i]>=6)
				{
					AddPai(MoveUser,MovePai[i][MoveIndex][0],MovePai[i][MoveIndex][1]);
					//System.out.println("MoveUser"+MoveUser);
					MoveTile[i]=0;
					MovePai[i][MoveIndex][0]=-1;
					MovePai[i][MoveIndex][1]=-1;
					for(int k=(MoveUser+1);k<MaxUser;k++)
					{
						//if()
						if(k<MaxUser&&BhadUser[k])
						{
							//System.out.println("NextMoveUser"+k);
							MoveUser=k;

							return;
						}

					}
					MoveUser=BeginUser;

					MoveIndex+=1;
					//System.out.println("MoveIndex"+MoveIndex);
					if(MoveIndex>=MovePaiN)
					{
						MoveIndex=0;
						MoveUser=0;
						MovePaiN=0;
						ActiveUser();
					}


				}
			}
			// break;
		}




	}
	/*获取一个用户信息*/
	public  void copyPlayer(Player p,int index1)
	{
		int index= GetGameSeat(index1);
		GamePlayer[index] = Player.CreatePlayer(GamePlayer[index]);
		Player.copyPlayer(p, GamePlayer[index]);
		//if(Def.bDgg)  System.out.println(index+"id==="+GamePlayer[index].ID);
		if(GamePlayer[index].ID>0)
		{

			BhadUser[index]=true;
			drawUser[index]=1;
			if(GamePlayer[index].playerIsReady())
			{ 
				BdrawReady[index]=true;

			}
			//if(Def.bDgg) System.out.println(index+"index"+"YOUREN"+"id"+GamePlayer[index].ID+GamePlayer[index].playerIsReady());

		}


	}

	public void LoadImg(int loadstatus)
	{
		if(ImgMode==null)
			ImgMode=new Image[GameDef.ImgCount];
		//if(Imggivep==null)
		//	Imggivep=new Image();
		if(ImgHuase==null)
			ImgHuase=new Image[GameDef.HuaseNum];
		if(ImgOver==null)
			ImgOver=new Image[GameDef.OverNum];
		if(ImgProcess==null)
			ImgProcess=new Image[4];
		try
		{
			switch(loadstatus)
			{
			case GameDef.LoadImg_Init:
				//_Commu.formatSendPack((short)101,(short)1);
				//ImgMode[GameDef.ImgProcess]=Image.createImage(GameDef.StringProcess);
				Image process=Image.createImage(GameDef.StringProcess);
				ImgProcess[GameDef.ProcessGreen0]=Image.createImage(process,0,0,9,20,0);
				ImgProcess[GameDef.ProcessGreen1]=Image.createImage(process,9,0,9,20,0);
				ImgProcess[GameDef.ProcessBlue0]=Image.createImage(process,18,0,9,20,0);
				ImgProcess[GameDef.ProcessBlue1]=Image.createImage(process,27,0,9,20,0);
				LoadStep= GameDef.LoadImg_zero;
				break;
			case GameDef.LoadImg_zero:

				Tool.setDis(new DataInputStream(main.getClass()
						.getResourceAsStream("/GameImg/imode.png")));
				ImgMode = Tool.loadImages();
				/*ImgMode[GameDef.ImgBack]=Image.createImage(GameDef.StringBack);
				ImgMode[GameDef.ImgHead]=Image.createImage(GameDef.StringHead);
				ImgMode[GameDef.ImgCoin1]=Image.createImage(GameDef.StringCoin1);
				ImgMode[GameDef.ImgCoin2]=Image.createImage(GameDef.StringCoin2);
				ImgMode[GameDef.ImgCoin5]=Image.createImage(GameDef.StringCoin5);
				//ImgMode[GameDef.ImgMachine]=Image.createImage(GameDef.StringMachine);
				ImgMode[GameDef.ImgHandUp]=Image.createImage(GameDef.StringHandup);
				ImgMode[GameDef.ImgCardBack]=Image.createImage(GameDef.StringCardb);
				ImgMode[GameDef.ImgCardFace]=Image.createImage(GameDef.StringCardf);
				ImgMode[GameDef.ImgcInfor]=Image.createImage(GameDef.StringcInfor);
				ImgMode[GameDef.ImgDirect]=Image.createImage(GameDef.StringDirect);
				ImgMode[GameDef.ImgCardn]=Image.createImage(GameDef.StringCardn);
				ImgMode[GameDef.ImgFont]=Image.createImage(GameDef.StringFont);
				ImgMode[GameDef.ImgLose]=Image.createImage(GameDef.StringLose);*/
				//if(Def.bDgg)  System.out.println("load11111!!!!!!!!!!!!!");
				Tool.setDis(new DataInputStream(main.getClass()
						.getResourceAsStream("/GameImg/Over.png")));
				ImgOver = Tool.loadImages();
				/*ImgOver[GameDef.Overbegin]=Image.createImage(GameDef.Stringoverbegin);
				ImgOver[GameDef.Overexit]=Image.createImage(GameDef.Stringoverexit);
				ImgOver[GameDef.Overl]=Image.createImage(GameDef.Stringoverl);
				ImgOver[GameDef.Overs]=Image.createImage(GameDef.Stringovers);
				ImgOver[GameDef.Overjiesuan]=Image.createImage(GameDef.Stringoverjiesuan);*/
				LoadStep=GameDef.LoadImg_one;
				break;
			case GameDef.LoadImg_one:
				if(Def.bDgg) System.out.println("11111111111");
				Tool.setDis(new DataInputStream(main.getClass()
						.getResourceAsStream("/GameImg/cardtype.png")));
				ImgHuase = Tool.loadImages();
				if(Def.bDgg) System.out.println("2222222222222");
				//ImgHuase[GameDef.Huase_meihua]=Image.createImage(GameDef.StringMeiHua);

				//ImgHuase[GameDef.Huase_fangkuai]=Image.createImage(GameDef.StringFangKuai);

				//ImgHuase[GameDef.Huase_heitao]=Image.createImage(GameDef.StringHeitao);
				//ImgHuase[GameDef.Huase_hongtao]=Image.createImage(GameDef.StringHongtao);
				//ImgMode[GameDef.Imghmenu]=Image.createImage(GameDef.Stringhmenu);
				//ImgMode[GameDef.Imglmenu]=Image.createImage(GameDef.Stringlmenu);
				//ImgMode[GameDef.Imgzhuang]=Image.createImage(GameDef.Stringzhuang);
				//ImgMode[GameDef.Imgcenter]=Image.createImage(GameDef.Stringcenter);
				//ImgMode[GameDef.Imgbegin1]=Image.createImage(GameDef.Stringbegin1);
				//ImgMode[GameDef.Imgbegin2]=Image.createImage(GameDef.Stringbegin2);
				//if(Def.bDgg)  System.out.println("load2!!!!!!!!!!!!");
				LoadStep=GameDef.LoadImg_two;
				break;
			case GameDef.LoadImg_two:
				Imggivep=Image.createImage(GameDef.StringLose);
				LoadStep=GameDef.LoadImg_three;

				break;
			case GameDef.LoadImg_three:


				LoadStep=GameDef.LoadImg_four;
				break;
			case GameDef.LoadImg_four:
				_Commu.formatSendPack((short)101,(short)1);
				LoadStep=GameDef.LoadImg_five;
				break;
			case GameDef.LoadImg_five:
				LoadStep=GameDef.LoadImg_six;
				break;
			case GameDef.LoadImg_six:

				//if(Def.bDgg)  System.out.println("case GameDef.LoadImg_six:");
				//_Commu.formatSendPack(GameDef.NET_MSG_RELINK);
				
				GameStatus=GameDef.ReadyStatus;
				break;

			}  
		}
		catch(Exception e)
		{
			//if(Def.bDgg)  System.out.println("加载图片错误"+e.getMessage());
		}
	}


	public int[] waitEnd(int tranCode)
	{
		int a[] = new int[1];
		// TODO 自动生成方法存根

		a[0] = -1;
		return a;
	}
	public int[] noIgnore(int tranCode)
	{
		int [] noIgnore=new int[4];

		return noIgnore;	

	}
	
	public void recvPack(short maintrancode,short subtrancode, byte[] recvpack) 
	{
		
		int user=-1;
		switch (maintrancode)
		{
		case 101:
			switch (subtrancode)
			{
			case 101:
				
				byte status=Commu.getByteFromPack(recvpack, Commu.readPos);
				if(Def.bDgg) System.out.println(" status="+ status);
				if(Def.bDgg) System.out.println("recvpack.length"+ recvpack.length);
				/*for(int i=0;i<recvpack.length;i++)
				{
					//System.out.println(i+"i"+recvpack[i]);
				}*/
			    if(recvpack.length>10)
				{
					GamePlayer[0].playerSetReady(true);
					bSuohaed=Commu.getByteFromPack(recvpack, Commu.readPos);
					bhadSuoha= Commu.getByteFromPack(recvpack, Commu.readPos);
					byte gameuser=Commu.getByteFromPack(recvpack, Commu.readPos);
					if(Def.bDgg) System.out.println(" 1111111gameuser"+gameuser);
					NextUser=GetGameSeat((int)gameuser);
					for(int i=0;i<MaxUser;i++)
					{  
						int index=GetGameSeat(i);
						if(GamePlayer[index]==null||!BhadUser[index])
						{
							Commu.readPos+=5;
							//if(Def.bDgg)System.out.println(index+"kong");
							continue;
							////if(Def.bDgg)System.out.println(index+"kong");
						}
						if(GamePlayer[index]!=null&&BhadUser[index])
						{
							//AddUserZhu(index,Mcell);
							BInGame[index]=true;
							BGameing[index]=true;
							for(int j=0;j<5;j++)
							{
								int paivalue=Commu.getByteFromPack(recvpack, Commu.readPos);
								if(paivalue!=0)
								{
									int type=paivalue/16;
									int value=paivalue%16;
									//System.out.println(index+"ty101pe"+type+"value"+value);
									//AddMovePai(index,type,value);
									AddPai(index,type,value);
								}

							}
						}
					}

					for(int i=0;i<MaxUser;i++)
					{
						int index=GetGameSeat(i);
						if(GamePlayer[index]==null||!BhadUser[index])
						{
							Commu.readPos+=4;

							continue;
						}
						else
						{
							int bet=Commu.getIntFromPack(recvpack, Commu.readPos);
							AddUserZhu(index,bet);
						}
						// //if(Def.bDgg)System.out.println(index+"kong"+BhadUser[index]+UserZu[index][0]);
					}

					byte bKai=Commu.getByteFromPack(recvpack, Commu.readPos);
					BetMoney=Commu.getIntFromPack(recvpack, Commu.readPos);
					HignCanAdd=Commu.getIntFromPack(recvpack, Commu.readPos);
					int canadd=Commu.getIntFromPack(recvpack, Commu.readPos);
					byte value=Commu.getByteFromPack(recvpack, Commu.readPos);
					byte pain=Commu.getByteFromPack(recvpack, Commu.readPos);
					Mcell=Commu.getIntFromPack(recvpack, Commu.readPos);

					if(HignCanAdd>0)
						canAdd=1;

					if(BetMoney>0)
					{
						canFollow=1;
					}
					else
					{
						canPass=1;
					}
					if(bhadSuoha>0)
					{
						canPass=0;
						canFollow=0;
						canAdd=0;
						canSuoha=1;
					}
					if(pain>=3)
						canSuoha=1;
					if(bSuohaed>0)
					{
						canSuoha=0;
						bKaiPai=1;
					}

					GotoPlay=3;
					bDrawCell=true;
					canGiveup=1;
					ActiveUser();
					// //if(Def.bDgg)System.out.println(canadd+"bhadSuoha"+bhadSuoha+"bKaiPai"+bKaiPai+"BetMoney"+BetMoney+"HignCanAdd"+HignCanAdd+"Mcell"+Mcell+"bSuohaed"+bSuohaed);  
				}
				break;
			}
			break;
		case 0:
		{//来自框架的消息: 0.1 心跳包
			System.out.println("11");
			switch (subtrancode)
			{
			case 1:
			{
				
				break;
			}
			}
			break;
		}
		case 2:
		{
			

			break;
		}
		case 11:
		{//来自框架的消息: 11.100 关于类型标识和在线人数
		//	short typeVar = Commu.getShortFromPack(recvpack, Commu.readPos);
			//int onLinePerson = Commu.getIntFromPack(recvpack, Commu.readPos);
			
			break;
		}
		case 100:
		{

			switch(subtrancode)
			{
			case 1:
				break;
			case 2:
				break;

			case 487:                  //准备
				user=Commu.getByteFromPack(recvpack, Commu.readPos);
				user=GetGameSeat(user);
				if(GamePlayer[user]!=null&&BhadUser[user])
				{
					//if(Def.bDgg)System.out.println("设置准备");
					GamePlayer[user].playerSetReady(true);
					BdrawReady[user]=true;
				}
			
				break;
			case 101:                  //游戏开始
				
				bDrawCell=true;
				MovePaiN=2;
				
				Mcell = Commu.getIntFromPack(recvpack, Commu.readPos);
				////if(Def.bDgg)System.out.println("Mcell"+Mcell);
				int pai=Commu.getShortFromPack(recvpack, Commu.readPos);
				////if(Def.bDgg)System.out.println("pai"+pai);
				HignCanAdd=10*Mcell;
				user=Commu.getShortFromPack(recvpack, Commu.readPos);
				NextUser=GetGameSeat(user);
				canGiveup=1;
				// if(NextUser==0)
				{
					canAdd=1;
					canPass=1;

				}
				// //if(Def.bDgg)System.out.println("nextuser"+NextUser);
				for(int i=0;i<MaxUser;i++)
				{  
					int index=GetGameSeat(i);
					if(GamePlayer[index]==null||!BhadUser[index])
					{
						Commu.readPos+=5;
						////if(Def.bDgg)System.out.println(index+"kong");
						continue;
						//////if(Def.bDgg)System.out.println(index+"kong");
					}
					if(GamePlayer[index]!=null&&BhadUser[index])
					{
						AddUserZhu(index,Mcell);
						BInGame[index]=true;
						BGameing[index]=true;
						for(int j=0;j<5;j++)
						{
							int paivalue=Commu.getByteFromPack(recvpack, Commu.readPos);
							if(paivalue!=0)
							{
								int type=paivalue/16;
								int value=paivalue%16;
								if(Def.bDgg) System.out.println(index+"tyreadype"+type+"value"+value);
								//AddMovePai(index,type,value);
								AddPai(index,type,value);
							}

						}
					}
				}
				
				GotoPlay=6;
				ActiveUser();
				break;
			case 480:                  //游戏下注 跟 等
				/*for(int i=0;i<recvpack.length;i++)
				{
					System.out.println(i+"recvpack"+recvpack[i]);
				}*/
				byte newturn=Commu.getByteFromPack(recvpack, Commu.readPos);
				byte pos=Commu.getByteFromPack(recvpack, Commu.readPos);
				byte nextuser=(byte)Commu.getByteFromPack(recvpack, Commu.readPos);
				int userbet=Commu.getIntFromPack(recvpack, Commu.readPos);
				HignCanAdd=Commu.getIntFromPack(recvpack, Commu.readPos);
				int bcanAdd=Commu.getIntFromPack(recvpack, Commu.readPos);
				//canAdd=HignCanAdd;
				//if(Def.bDgg)System.out.println("111"+Commu.readPos);	
				int gamepos=GetGameSeat(pos);
				if(nextuser>=0)
					NextUser=GetGameSeat(nextuser);
				//if(Def.bDgg)  System.out.println("222"+Commu.readPos);

				{
					if(userbet>0&&newturn==0)
					{
						canPass=0;
						if(bhadSuoha==0)
							canFollow=1;
					}


				}

				canAdd=HignCanAdd;
				BetMoney=userbet;
				//if(Def.bDgg)System.out.println("加注座"+Commu.readPos);
				byte action=Commu.getByteFromPack(recvpack, Commu.readPos);
				if(action!=3)
					AddUserZhu(gamepos,userbet);
				switch(action)
				{
				case 1:     //跟

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -