📄 gobangdeal.java
字号:
package com.tianxia.qipai.model.game.gobang;
import com.tianxia.qipai.event.MainGameEvent;
import com.tianxia.qipai.event.UniGameEvent;
import com.tianxia.qipai.model.socket.SocketInterface;
import com.tianxia.qipai.model.socket.SocketManager;
import com.tianxia.qipai.model.universal.RegModel;
import com.tianxia.qipai.model.universal.UniOperateId;
import com.tianxia.qipai.model.util.CommStructNode;
import com.tianxia.qipai.model.util.GameEventDeal;
import com.tianxia.qipai.model.util.MudleDefine;
import com.tianxia.qipai.model.util.StringTokenizer;
import com.tianxia.qipai.model.util.UniversalDefine;
import com.tianxia.qipai.view.game.gobang.RoomList;
import com.tianxia.qipai.view.universal.RegView;
import com.tianxia.qipai.event.*;
public class GobangDeal implements SocketInterface {
private SocketManager socketmanager; //socket连接管理器
private GameEventDeal gameeventdeal; //事件处理接口
private MainGameEvent maingameevent; //
private CommStructNode commstructnode; //通信结点
private CommStructNode otheruserinfo; //游戏对手信息
private static final int ROOM_COUNT = 5;
private static final int TABLE_COUNT = 24;
private RoomStruct roomstruct[] = new RoomStruct[ROOM_COUNT];
private PlayerStruct player[] = new PlayerStruct[TABLE_COUNT*2+1]; //存放大厅里的所有用户信息
private String packstring; //最近发送的数据,供重发用
public static GobangDeal instance;
public GobangDeal() {
super();
// TODO 自动生成构造函数存根
}
public void BeginToConnect() {
// TODO 自动生成方法存根
}
public void init(MainGameEvent maingameevent){
// socketmanager = new SocketManager(false);
socketmanager = SocketManager.getInstance();
this.maingameevent = maingameevent;
for(int i=0;i<5;i++){
roomstruct[i] = new RoomStruct();
}
for(int i=0;i<=TABLE_COUNT*2;i++){
player[i] = new PlayerStruct();
}
packstring = "";
// //服务器ADSL拨号环境测试
//socketmanager.resetipstring("datagram://xiezhengyu.dynserv.com:5010");
//模拟器本机测试环境
socketmanager.resetipstring("datagram://127.0.0.1:5010");
socketmanager.resetSocInterface(this);
//socketmanager.init(this,"datagram://xiezhengyu.dynserv.com:5010");
commstructnode = this.maingameevent.getCommNode();
otheruserinfo = new CommStructNode();
getRoomList(maingameevent.getCommNode());
}
public static synchronized GobangDeal getInstance(){
if(instance == null){
instance = new GobangDeal();
}
return instance;
}
//设置父级接口
public void setEventDeal(GameEventDeal gameeventdeal){
this.gameeventdeal = gameeventdeal;
}
//获取房间列表信息
public RoomStruct[] getRoomInfo(){
return roomstruct;
}
//获取房间列表请求
public void getRoomList(CommStructNode commstructnode){
StringBuffer packstringbuffer = new StringBuffer();
packstringbuffer.append("000");
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(MudleDefine.GOBANGMUDLE);
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(GobangOperateId.roomlist);
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(commstructnode.getUserId());
packstring = packstringbuffer.toString();
socketmanager.sendpacket(packstring,true);
}
// 获取房间里所有坐下的用户信息
public PlayerStruct[] getPlayerInfo(){
return player;
}
//获取指定用户的游戏信息
public CommStructNode getOtherUserInfo(){
return otheruserinfo;
}
//获取指定用户的详细信息请求
public void getPlayerDetail(String userid,String otheruserid){
otheruserinfo.setUserId(otheruserid);
StringBuffer packstringbuffer = new StringBuffer();
packstringbuffer.append("000");
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(MudleDefine.GOBANGMUDLE);
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(GobangOperateId.otherinfo);
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(userid);
packstringbuffer.append(UniversalDefine.SUBDIVISION );
packstringbuffer.append(otheruserid);
packstring = packstringbuffer.toString();
socketmanager.sendpacket(packstring,true);
}
//用户进入具体的游戏房间请求
public void enterRoom(CommStructNode commstructnode){
this.commstructnode = commstructnode;
maingameevent.setCommNode(commstructnode);
StringBuffer packstringbuffer = new StringBuffer();
packstringbuffer.append("000");
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(MudleDefine.GOBANGMUDLE);
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(GobangOperateId.usercount);
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(commstructnode.getUserId());
packstring = packstringbuffer.toString();
socketmanager.sendpacket(packstring,true);
}
//获取游戏大厅信息请求
public void getHallInfo(MainGameEvent maingameevent){
this.maingameevent = maingameevent;
commstructnode = maingameevent.getCommNode();
StringBuffer packstringbuffer = new StringBuffer();
packstringbuffer.append("000");
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(MudleDefine.GOBANGMUDLE);
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(GobangOperateId.roomin);
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(commstructnode.getUserId());
packstringbuffer.append(UniversalDefine.SUBDIVISION );
packstringbuffer.append(commstructnode.getRoomId());
packstring = packstringbuffer.toString();
socketmanager.sendpacket(packstring,true);
}
//退出房间的请求
public void getExitRoom(CommStructNode commstructnode){
this.commstructnode = commstructnode;
maingameevent.setCommNode(commstructnode);
StringBuffer packstringbuffer = new StringBuffer();
packstringbuffer.append("000");
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(MudleDefine.GOBANGMUDLE);
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(GobangOperateId.roomout);
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(commstructnode.getUserId());
packstringbuffer.append(UniversalDefine.SUBDIVISION );
packstringbuffer.append(commstructnode.getRoomId());
packstring = packstringbuffer.toString();
socketmanager.sendpacket(packstring,true);
}
//用户坐下请求
public void setSitRequest(String userid,String roomid,String tableid,String tableseq){
otheruserinfo.setTableId(commstructnode.getTableid());
otheruserinfo.setTableSeq((commstructnode.getTableSeq()+1)%2);
StringBuffer packstringbuffer = new StringBuffer();
packstringbuffer.append("000");
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(MudleDefine.GOBANGMUDLE);
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(GobangOperateId.usersit);
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(userid);
packstringbuffer.append(UniversalDefine.SUBDIVISION );
packstringbuffer.append(roomid);
packstringbuffer.append(UniversalDefine.SUBDIVISION );
packstringbuffer.append(tableid);
packstringbuffer.append(UniversalDefine.SUBDIVISION );
packstringbuffer.append(tableseq);
packstring = packstringbuffer.toString();
socketmanager.sendpacket(packstring,true);
}
//用户站起请求
public void setUpRequest(CommStructNode commstructnode){
this.commstructnode = commstructnode;
maingameevent.setCommNode(commstructnode);
StringBuffer packstringbuffer = new StringBuffer();
packstringbuffer.append("000");
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(MudleDefine.GOBANGMUDLE);
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(GobangOperateId.userup);
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(commstructnode.getUserId());
packstringbuffer.append(UniversalDefine.SUBDIVISION );
packstringbuffer.append(commstructnode.getRoomId());
packstringbuffer.append(UniversalDefine.SUBDIVISION );
packstringbuffer.append(commstructnode.getTableid());
packstringbuffer.append(UniversalDefine.SUBDIVISION );
packstringbuffer.append(commstructnode.getTableSeq());
packstring = packstringbuffer.toString();
socketmanager.sendpacket(packstring,true);
}
//用户准备好请求
public void setReadyRequest(CommStructNode commstructnode){
this.commstructnode = commstructnode;
maingameevent.setCommNode(commstructnode);
StringBuffer packstringbuffer = new StringBuffer();
packstringbuffer.append("000");
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(MudleDefine.GOBANGMUDLE);
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(GobangOperateId.userready);
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(commstructnode.getUserId());
packstringbuffer.append(UniversalDefine.SUBDIVISION );
packstringbuffer.append(commstructnode.getRoomId());
packstringbuffer.append(UniversalDefine.SUBDIVISION );
packstringbuffer.append(commstructnode.getTableid());
packstringbuffer.append(UniversalDefine.SUBDIVISION );
packstringbuffer.append(commstructnode.getTableSeq());
packstring = packstringbuffer.toString();
socketmanager.sendpacket(packstring,true);
}
// 用户开始请求
public void setStartRequest(CommStructNode commstructnode){
this.commstructnode = commstructnode;
maingameevent.setCommNode(commstructnode);
StringBuffer packstringbuffer = new StringBuffer();
packstringbuffer.append("000");
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(MudleDefine.GOBANGMUDLE);
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(GobangOperateId.userstart);
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(commstructnode.getUserId());
packstringbuffer.append(UniversalDefine.SUBDIVISION );
packstringbuffer.append(commstructnode.getRoomId());
packstringbuffer.append(UniversalDefine.SUBDIVISION );
packstringbuffer.append(commstructnode.getTableid());
packstringbuffer.append(UniversalDefine.SUBDIVISION );
packstringbuffer.append(commstructnode.getTableSeq());
packstring = packstringbuffer.toString();
socketmanager.sendpacket(packstring,true);
}
//用户走子
public void setChess(CommStructNode commstructnode,int stepnum,int x,int y,int usercolor ){
this.commstructnode = commstructnode;
maingameevent.setCommNode(commstructnode);
String seqnum = commstructnode.getRoomId()+commstructnode.getTableid();
StringBuffer packstringbuffer = new StringBuffer();
packstringbuffer.append("000");
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(MudleDefine.GOBANGMUDLE);
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(GobangOperateId.gaming);
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(commstructnode.getUserId());
packstringbuffer.append(UniversalDefine.SUBDIVISION );
packstringbuffer.append(seqnum);
packstringbuffer.append(UniversalDefine.SUBDIVISION );
packstringbuffer.append(stepnum);
packstringbuffer.append(UniversalDefine.SUBDIVISION );
packstringbuffer.append(x);
packstringbuffer.append(UniversalDefine.SUBDIVISION );
packstringbuffer.append(y);
packstringbuffer.append(UniversalDefine.SUBDIVISION );
packstringbuffer.append(usercolor);
packstring = packstringbuffer.toString();
socketmanager.sendpacket(packstring,true);
}
//用户放弃下子
public void UserGiveUp(CommStructNode commstructnode,int stepnum){
this.commstructnode = commstructnode;
maingameevent.setCommNode(commstructnode);
StringBuffer packstringbuffer = new StringBuffer();
packstringbuffer.append("000");
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(MudleDefine.GOBANGMUDLE);
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(GobangOperateId.usergiveup);
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(commstructnode.getUserId());
packstringbuffer.append(UniversalDefine.SUBDIVISION );
packstringbuffer.append(stepnum);
packstringbuffer.append(UniversalDefine.SUBDIVISION );
packstringbuffer.append(commstructnode.getRoomId());
packstringbuffer.append(UniversalDefine.SUBDIVISION );
packstringbuffer.append(commstructnode.getTableid());
packstring = packstringbuffer.toString();
socketmanager.sendpacket(packstring,true);
}
//用户悔棋
public void UserRegret(CommStructNode commstructnode,int stepnum){
this.commstructnode = commstructnode;
maingameevent.setCommNode(commstructnode);
StringBuffer packstringbuffer = new StringBuffer();
packstringbuffer.append("000");
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(MudleDefine.GOBANGMUDLE);
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(GobangOperateId.userregret);
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(commstructnode.getUserId());
packstringbuffer.append(UniversalDefine.SUBDIVISION );
packstringbuffer.append(stepnum);
packstringbuffer.append(UniversalDefine.SUBDIVISION );
packstringbuffer.append(commstructnode.getRoomId());
packstringbuffer.append(UniversalDefine.SUBDIVISION );
packstringbuffer.append(commstructnode.getTableid());
packstring = packstringbuffer.toString();
socketmanager.sendpacket(packstring,true);
}
//对对家悔棋的响应
public void AgreeOppRegret(CommStructNode commstructnode,int stepnum,String oppmind){
this.commstructnode = commstructnode;
maingameevent.setCommNode(commstructnode);
StringBuffer packstringbuffer = new StringBuffer();
packstringbuffer.append("000");
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(MudleDefine.GOBANGMUDLE);
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(GobangOperateId.oppregret);
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(commstructnode.getUserId());
packstringbuffer.append(UniversalDefine.SUBDIVISION );
packstringbuffer.append(stepnum);
packstringbuffer.append(UniversalDefine.SUBDIVISION );
packstringbuffer.append(oppmind);
packstringbuffer.append(UniversalDefine.SUBDIVISION );
packstringbuffer.append(commstructnode.getRoomId());
packstringbuffer.append(UniversalDefine.SUBDIVISION );
packstringbuffer.append(commstructnode.getTableid());
packstring = packstringbuffer.toString();
socketmanager.sendpacket(packstring,true);
}
//用户求和
public void UserTie(CommStructNode commstructnode,int stepnum){
this.commstructnode = commstructnode;
maingameevent.setCommNode(commstructnode);
StringBuffer packstringbuffer = new StringBuffer();
packstringbuffer.append("000");
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(MudleDefine.GOBANGMUDLE);
packstringbuffer.append(UniversalDefine.DIVISION);
packstringbuffer.append(GobangOperateId.usertie);
packstringbuffer.append(UniversalDefine.DIVISION);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -