实现一个网络对战的牌类游戏,纸牌是通过paint方法绘制的。网络部分有下面一段代码,即时进入了case 21也没有调用repaint方法,初学java,急求,各位大牛帮帮忙,谢谢了:
Datatype d;
do{
d = (Datatype) m_input.readObject();
switch(d.flag)
{
case 0:break;
case 1:
if(JOptionPane.showConfirmDialog(null, "可以开始比赛了么", "对手请求开始比赛", JOptionPane.YES_NO_OPTION) == 1)
send(new Datatype(12));
else{
JMessage.append("准备完毕,开始游戏\n你是农民,对方是地主\n");
JMessage.selectAll();
send(new Datatype(11));
mp.initializemap();
mp.turn = false;
mp.flag = 1;
isStarted = true;
};
break;
case 12:
JOptionPane.showMessageDialog(null,"对方还没有准备好");
break;
case 11: {
JMessage.append("准备完毕,开始游戏\n你是地主,对方是农民\n");
JMessage.selectAll();
mp.initializemap();
mp.turn = true;
mp.flag = 0;
isStarted = true;
break;
}
case 2:
mp.SendCardOut((DataCard)d);
break;
case 21:
mp.repaint();
break; case 31: JOptionPane.showMessageDialog(null,"你输了");
isStarted = false;
break;
case 32:
JOptionPane.showMessageDialog(null,"你赢了");
isStarted = false;
break;
case 4:
bEnd = true;
JMessage.append("对方断开了连接!\n");
JMessage.selectAll();
initializeValue();
break;
case 5:
JMessage.append("对方说"+((Chattype)d).s+"\n");
JMessage.selectAll();
default:
}
}while(!bEnd);
Datatype d;
do{
d = (Datatype) m_input.readObject();
switch(d.flag)
{
case 0:break;
case 1:
if(JOptionPane.showConfirmDialog(null, "可以开始比赛了么", "对手请求开始比赛", JOptionPane.YES_NO_OPTION) == 1)
send(new Datatype(12));
else{
JMessage.append("准备完毕,开始游戏\n你是农民,对方是地主\n");
JMessage.selectAll();
send(new Datatype(11));
mp.initializemap();
mp.turn = false;
mp.flag = 1;
isStarted = true;
};
break;
case 12:
JOptionPane.showMessageDialog(null,"对方还没有准备好");
break;
case 11: {
JMessage.append("准备完毕,开始游戏\n你是地主,对方是农民\n");
JMessage.selectAll();
mp.initializemap();
mp.turn = true;
mp.flag = 0;
isStarted = true;
break;
}
case 2:
mp.SendCardOut((DataCard)d);
break;
case 21:
mp.repaint();
break; case 31: JOptionPane.showMessageDialog(null,"你输了");
isStarted = false;
break;
case 32:
JOptionPane.showMessageDialog(null,"你赢了");
isStarted = false;
break;
case 4:
bEnd = true;
JMessage.append("对方断开了连接!\n");
JMessage.selectAll();
initializeValue();
break;
case 5:
JMessage.append("对方说"+((Chattype)d).s+"\n");
JMessage.selectAll();
default:
}
}while(!bEnd);
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货