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

📄 gobangdeal.java

📁 游戏说明
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
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 + -