📄 game.java
字号:
}
}
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 + -