📄 gobangdeal.java
字号:
String countgroup="";
String stepnum="1",xvalue="0",yvalue="0";
StringTokenizer stringtokenizer = new StringTokenizer(body, UniversalDefine.SUBDIVISION);
if(stringtokenizer.hasMoreTokens()){
stepflag = Integer.parseInt(stringtokenizer.nextToken());
}if(stringtokenizer.hasMoreTokens()){
stepnum = stringtokenizer.nextToken();
}if(stringtokenizer.hasMoreTokens()){
xvalue = stringtokenizer.nextToken();
}if(stringtokenizer.hasMoreTokens()){
yvalue = stringtokenizer.nextToken();
}
if(stringtokenizer.hasMoreTokens()){
stringtokenizer.nextToken();
}
if(stepflag != 0){
// 更新用户的统计信息
if(stringtokenizer.hasMoreTokens()){
countgroup = stringtokenizer.nextToken();
}
commstructnode.SetCount(countgroup);
maingameevent.setCommNode(commstructnode);
//更新对家的统计信息
if(stringtokenizer.hasMoreTokens()){
countgroup = stringtokenizer.nextToken();
}
otheruserinfo.SetCount(countgroup);
}
maingameevent.setByName("stepnum",stepnum);
maingameevent.setByName("xvalue",xvalue);
maingameevent.setByName("yvalue",yvalue);
switch(stepflag){
case 1:
gameeventdeal.handleEvent(GobangEvent.BLACKWIN,maingameevent);
break;
case 2:
gameeventdeal.handleEvent(GobangEvent.WHITEWIN,maingameevent);
break;
case 3:
gameeventdeal.handleEvent(GobangEvent.GAMEEQUAL,maingameevent);
break;
case 0:
default:
gameeventdeal.handleEvent(GobangEvent.OPPPLAYRESPOND,maingameevent);
break;
}
}
//用户放弃下子响应
private void UserGiveUpRespond(String body){
StringTokenizer stringtokenizer = new StringTokenizer(body, UniversalDefine.SUBDIVISION);
if (stringtokenizer.hasMoreTokens())
if(stringtokenizer.nextToken().equals("0")){
gameeventdeal.handleEvent(GobangEvent.USERGIVEUP,maingameevent);
}
}
//对家放弃下子响应
private void OppGiveUpRespond(String body){
String stepnum="";
StringTokenizer stringtokenizer = new StringTokenizer(body, UniversalDefine.SUBDIVISION);
if (stringtokenizer.hasMoreTokens())
stepnum = stringtokenizer.nextToken();
maingameevent.setByName("stepnum",stepnum);
gameeventdeal.handleEvent(GobangEvent.OPPGIVEUP,maingameevent);
}
//用户悔棋响应
private void UserRegretRespond(String body){
String x1="",y1="",x2="",y2="",x3="",y3="";
String stepnum="";
StringTokenizer stringtokenizer = new StringTokenizer(body, UniversalDefine.SUBDIVISION);
if (stringtokenizer.hasMoreTokens())
if(stringtokenizer.nextToken().equals("0")){//对家同意
if (stringtokenizer.hasMoreTokens()){
stepnum = stringtokenizer.nextToken();
}
if (stringtokenizer.hasMoreTokens()){
x1 = stringtokenizer.nextToken();
}
if (stringtokenizer.hasMoreTokens()){
y1 = stringtokenizer.nextToken();
}
if (stringtokenizer.hasMoreTokens()){
x2 = stringtokenizer.nextToken();
}
if (stringtokenizer.hasMoreTokens()){
y2 = stringtokenizer.nextToken();
}
if (stringtokenizer.hasMoreTokens()){
x3 = stringtokenizer.nextToken();
}
if (stringtokenizer.hasMoreTokens()){
y3 = stringtokenizer.nextToken();
}
maingameevent.setByName("stepnum",stepnum);
maingameevent.setByName("firprex",x1);
maingameevent.setByName("firprey",y1);
maingameevent.setByName("secprex",x2);
maingameevent.setByName("secprey",y2);
maingameevent.setByName("thiprex",x3);
maingameevent.setByName("thiprey",y3);
gameeventdeal.handleEvent(GobangEvent.OPPAGREENREGRET,maingameevent);
}else{//对家不同意
if (stringtokenizer.hasMoreTokens()){
stepnum = stringtokenizer.nextToken();
}
maingameevent.setByName("stepnum",stepnum);
gameeventdeal.handleEvent(GobangEvent.OPPANTIREGRET,maingameevent);
}
}
//对家悔棋请求
private void OppRegretRequest(String body){
String stepnum="0";
StringTokenizer stringtokenizer = new StringTokenizer(body, UniversalDefine.SUBDIVISION);
if (stringtokenizer.hasMoreTokens()){
stepnum = stringtokenizer.nextToken();
}
maingameevent.setByName("stepnum",stepnum);
gameeventdeal.handleEvent(GobangEvent.OPPREGRET,maingameevent);
}
//同意对家悔棋响应
private void AgreenOppRegret(String body){
String x1="",y1="",x2="",y2="",x3="",y3="";
StringTokenizer stringtokenizer = new StringTokenizer(body, UniversalDefine.SUBDIVISION);
if (stringtokenizer.hasMoreTokens()){
x1 = stringtokenizer.nextToken();
}
if (stringtokenizer.hasMoreTokens()){
y1 = stringtokenizer.nextToken();
}
if (stringtokenizer.hasMoreTokens()){
x2 = stringtokenizer.nextToken();
}
if (stringtokenizer.hasMoreTokens()){
y2 = stringtokenizer.nextToken();
}
if (stringtokenizer.hasMoreTokens()){
x3 = stringtokenizer.nextToken();
}
if (stringtokenizer.hasMoreTokens()){
y3 = stringtokenizer.nextToken();
}
maingameevent.setByName("firprex",x1);
maingameevent.setByName("firprey",y1);
maingameevent.setByName("secprex",x2);
maingameevent.setByName("secprey",y2);
maingameevent.setByName("thiprex",x3);
maingameevent.setByName("thiprey",y3);
gameeventdeal.handleEvent(GobangEvent.USERAGREENREGRET,maingameevent);
}
//用户求和响应
private void UserTieRespond(String body){
String countgroup="",stepnum="";
StringTokenizer stringtokenizer = new StringTokenizer(body, UniversalDefine.SUBDIVISION);
if (stringtokenizer.hasMoreTokens())
if(stringtokenizer.nextToken().equals("0")){//对家同意
if (stringtokenizer.hasMoreTokens()){
stepnum = stringtokenizer.nextToken();
}
// 更新用户的统计信息
if(stringtokenizer.hasMoreTokens()){
countgroup = stringtokenizer.nextToken();
commstructnode.SetCount(countgroup);
}
maingameevent.setCommNode(commstructnode);
//更新对家的统计信息
if(stringtokenizer.hasMoreTokens()){
countgroup = stringtokenizer.nextToken();
otheruserinfo.SetCount(countgroup);
}
maingameevent.setByName("stepnum",stepnum);
gameeventdeal.handleEvent(GobangEvent.OPPAGREENTIE,maingameevent);
}else{//对家不同意
if (stringtokenizer.hasMoreTokens()){
stepnum = stringtokenizer.nextToken();
}
maingameevent.setByName("stepnum",stepnum);
gameeventdeal.handleEvent(GobangEvent.OPPANTITIE,maingameevent);
}
}
//对家求和请求
private void OppTie(String body){
String stepnum="0";
StringTokenizer stringtokenizer = new StringTokenizer(body, UniversalDefine.SUBDIVISION);
if (stringtokenizer.hasMoreTokens()){
stepnum = stringtokenizer.nextToken();
}
maingameevent.setByName("stepnum",stepnum);
gameeventdeal.handleEvent(GobangEvent.OPPTIE,maingameevent);
}
//同意对家求和响应
private void AgreenOppTie(String body){
String countgroup="";
StringTokenizer stringtokenizer = new StringTokenizer(body, UniversalDefine.SUBDIVISION);
//更新用户的统计信息
if(stringtokenizer.hasMoreTokens()){
countgroup = stringtokenizer.nextToken();
commstructnode.SetCount(countgroup);
}
maingameevent.setCommNode(commstructnode);
//更新对家的统计信息
if(stringtokenizer.hasMoreTokens()){
countgroup = stringtokenizer.nextToken();
otheruserinfo.SetCount(countgroup);
}
gameeventdeal.handleEvent(GobangEvent.USERAGREENTIE,maingameevent);
}
//用户投降请求响应
private void UserSurrenderRespond(String body){
String countgroup="";
StringTokenizer stringtokenizer = new StringTokenizer(body, UniversalDefine.SUBDIVISION);
if (stringtokenizer.hasMoreTokens())
if(stringtokenizer.nextToken().equals("0")){//
// 更新用户的统计信息
if(stringtokenizer.hasMoreTokens()){
countgroup = stringtokenizer.nextToken();
commstructnode.SetCount(countgroup);
}
maingameevent.setCommNode(commstructnode);
//更新对家的统计信息
if(stringtokenizer.hasMoreTokens()){
countgroup = stringtokenizer.nextToken();
otheruserinfo.SetCount(countgroup);
}
gameeventdeal.handleEvent(GobangEvent.USERSURRENDER,maingameevent);
}
}
//对家投降响应
private void OppSurrender(String body){
String countgroup="";
StringTokenizer stringtokenizer = new StringTokenizer(body, UniversalDefine.SUBDIVISION);
//更新用户的统计信息
if(stringtokenizer.hasMoreTokens()){
countgroup = stringtokenizer.nextToken();
commstructnode.SetCount(countgroup);
}
maingameevent.setCommNode(commstructnode);
//更新对家的统计信息
if(stringtokenizer.hasMoreTokens()){
countgroup = stringtokenizer.nextToken();
otheruserinfo.SetCount(countgroup);
}
gameeventdeal.handleEvent(GobangEvent.OPPSURRENDER,maingameevent);
}
//其他用户一盘游戏结束
private void OtherGameOver(String body){
String tableid = "";
int tempid=0;
int i = 0;
StringTokenizer stringtokenizer = new StringTokenizer(body, UniversalDefine.SUBDIVISION);
if(stringtokenizer.hasMoreTokens()){
tableid=stringtokenizer.nextToken();
}
if(tableid.equals("")){
i = 0;
}
else
{
tempid = Integer.parseInt(tableid);
i = tempid*2 - 1;
}
if(i!=0){
player[i].status = "01"; //桌子左侧用户
player[i+1].status = "01"; //桌子右侧用户
maingameevent.setByName("modnum",String.valueOf(i)); //设置已经修改了的大厅信息里的数组编号
gameeventdeal.handleEvent(GobangEvent.OTHERGAMEOVER,maingameevent);
}
}
//指定用户信息获取成功
private void OtherInfoRecive(String body){
StringTokenizer stringtokenizer = new StringTokenizer(body, UniversalDefine.SUBDIVISION);
if(stringtokenizer.hasMoreTokens()){
if(stringtokenizer.nextToken().equals("0")){
if(stringtokenizer.hasMoreTokens()){
otheruserinfo.setNickName(stringtokenizer.nextToken());
}
if(stringtokenizer.hasMoreTokens()){
otheruserinfo.setPicture(stringtokenizer.nextToken());
}
if(stringtokenizer.hasMoreTokens()){
otheruserinfo.setSex(Integer.parseInt(stringtokenizer.nextToken()));
}
if(stringtokenizer.hasMoreTokens()){
otheruserinfo.setUserType(Integer.parseInt(stringtokenizer.nextToken()));
}
if(stringtokenizer.hasMoreTokens()){
otheruserinfo.setAge(Integer.parseInt(stringtokenizer.nextToken()));
}
if(stringtokenizer.hasMoreTokens()){
otheruserinfo.setGameMoney(stringtokenizer.nextToken());
}
if(stringtokenizer.hasMoreTokens()){
otheruserinfo.setStatus(stringtokenizer.nextToken());
}
if(stringtokenizer.hasMoreTokens()){
otheruserinfo.SetCount(stringtokenizer.nextToken());
}
}
}
gameeventdeal.handleEvent(GobangEvent.OTHERINFORECIVE,maingameevent);
}
//其他用户退出游戏
public void OtherExit(String body){
String userid="",tableid = "",tableseq="";
int tempid=0,tempseq=0;
int i = 0;
StringTokenizer stringtokenizer = new StringTokenizer(body, UniversalDefine.SUBDIVISION);
if(stringtokenizer.hasMoreTokens()){
userid=stringtokenizer.nextToken();
}
if(stringtokenizer.hasMoreTokens()){
tableid=stringtokenizer.nextToken();
}
if(stringtokenizer.hasMoreTokens()){
tableseq=stringtokenizer.nextToken();
}
if(tableid.equals("")||tableseq.equals("")){
i = 0;
}
else
{
tempid = Integer.parseInt(tableid);
tempseq = Integer.parseInt(tableseq);
i = tempid*2 - 1 + tempseq;
}
if(i!=0){
player[i].userid = "";
if(tableid.equals(commstructnode.getTableid())){ //对家退出
otheruserinfo.init(); //清空对家信息
gameeventdeal.handleEvent(GobangEvent.OPPEXIT,maingameevent);
}else{
maingameevent.setByName("modnum",String.valueOf(i)); //设置已经修改了的大厅信息里的数组编号
gameeventdeal.handleEvent(GobangEvent.OTHEREXIT,maingameevent);
}
player[i].status = ""; //不和userid一起清空是因为,这几个值会暂时被gameeventdeal用到
player[i].tableid = "";
player[i].tableseq = "";
}
}
public void setNull(){
gameeventdeal=null; //事件处理接口
maingameevent=null; //
commstructnode=null; //通信结点
otheruserinfo = null; //游戏对手信息
roomstruct = null;
player = null; //存放大厅里的所有用户信息
instance = null;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -