• 大小: 41KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-01
  • 语言: Java
  • 标签: 象棋  java  

资源简介

此代码是利用java开发的象棋游戏代码,充分利用了java的多线程技术和通讯对象

资源截图

代码片段和文件信息

import java.io.*;
import java.util.Vector;
import java.awt.*;
import javax.swing.*;
import javax.swing.JOptionPane;
public class ClientAgentThread extends Thread{
private XiangQi father;
boolean flag=true;
DataInputStream dis=null;
DataOutputStream dos=null;
String tiaoZhanZhe=null;
ClientAgentThread(XiangQi father){
this.father=father;
try{
dis=new DataInputStream(father.sc.getInputStream());
dos=new DataOutputStream(father.sc.getOutputStream());
String name=father.jtfNickName.getText().trim();
if (!name.equals(““)){
dos.writeUTF(“<#NICK_NAME#>“+name);
}
}
catch(Exception e)
{
e.printStackTrace();
}

}

public void run(){
String msg=null;
while(flag){

try
{
msg=dis.readUTF();
if(msg.startsWith(“<#NAME_CHONGMING#>“))//收到新用户的信息
{
this.name_chongming();
}
else if(msg.startsWith(“<#NICK_LIST#>“)){
this.nick_list(msg);
}
else if(msg.startsWith(“<#SERVER_DOWN#>“)){//收到用户离开的信息
this.server_down();
}
else if(msg.startsWith(“<#TIAO_ZHAN#>“)){//收到用户发出的挑战信息
this.tiao_zhan(msg);
}
else if(msg.startsWith(“<#TONG_YI#>“)){//受到接受挑战的信息
this.tong_yi();
}
else if(msg.startsWith(“<#BUTONG_YI#>“)){//受到拒绝挑战的信息
this.butong_yi();
}
else if(msg.startsWith(“<#BUSY#>“)){//收到被挑战者忙的信息
this.busy();
}
else if(msg.startsWith(“<#MOVE#>“)){//收到走棋的信息
this.move(msg);
}
else if(msg.startsWith(“<#RENSHU#>“)){//收到某用户认输的信息
this.renshu();
}

}
catch (Exception e){

}

}
}

public void name_chongming(){
try{
dos.close();
dis.close();
this.father.jtfHost.setEnabled(true);//将用于输入主机名的文本框设为可用
this.father.jtfPort.setEnabled(true);//将用于输入端口号的文本框设为可用
this.father.jtfNickName.setEnabled(true);//将用于输入昵称的文本框设为可用
this.father.jbConnect.setEnabled(true);//将“连接“按钮设为可用
this.father.jbDisconnect.setEnabled(false);//将“断开“按钮设为不可用
this.father.jbChallenge.setEnabled(false);//将“挑战“按钮设为不可用
this.father.jbYChallenge.setEnabled(false);//将“接受挑战“按钮设为不可用
this.father.jbNChallenge.setEnabled(false);//将“拒绝挑战“按钮设为不可用
this.father.jbFail.setEnabled(false);//将“认输“按钮设为不可用
flag=false;
father.sc.close();
father.sc=null;
father.CAT=null;
JOptionPane.showMessageDialog(father “你已经登录!“ “提示“ JOptionPane.ERROR_MESSAGE);
}
catch(Exception e)
{
e.printStackTrace();
}

}

public void nick_list(String msg){
String s=msg.substring(13);
String s_me=father.jtfNickName.getText().trim();
String[] na=s.split(“\\|“);
Vector v=new Vector();
for (int i=0;i if (na[i].trim().length()!=0&&(!(na[i].equals(s_me)))){
v.add(na[i]);
}

}
father.jcbNickList.setModel(new DefaultComboBoxModel(v));
}


public void server_down(){

this.father.jtfHost.setEnabled(true);//将用于输入主机名的文本框设为可用
this.father.jtfPort.set

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        301  2017-12-15 17:16  XiangQi\.classpath

     文件        382  2017-12-15 17:16  XiangQi\.project

     文件        598  2017-12-15 17:16  XiangQi\.settings\org.eclipse.jdt.core.prefs

     文件       6353  2017-12-25 19:35  XiangQi\bin\ClientAgentThread.class

     文件       4700  2017-12-25 17:41  XiangQi\bin\GuiZe.class

     文件      10100  2017-12-27 12:13  XiangQi\bin\QiPan.class

     文件       1514  2017-12-25 08:36  XiangQi\bin\QiZi.class

     文件       5495  2017-12-25 09:16  XiangQi\bin\server.class

     文件       5875  2017-12-25 18:50  XiangQi\bin\ServerAgentThread.class

     文件        952  2017-12-25 09:18  XiangQi\bin\ServerThread.class

     文件       1460  2017-12-25 09:16  XiangQi\bin\winAdapter.class

     文件       1319  2017-12-25 19:43  XiangQi\bin\winAdapter1.class

     文件       9566  2017-12-25 19:43  XiangQi\bin\XiangQi.class

     文件       2066  2017-12-13 19:12  XiangQi\image\ico.gif

     文件       9336  2017-12-25 19:35  XiangQi\src\ClientAgentThread.java

     文件       8163  2017-12-25 17:41  XiangQi\src\GuiZe.java

     文件      13909  2017-12-27 12:13  XiangQi\src\QiPan.java

     文件        978  2017-12-17 15:05  XiangQi\src\QiZi.java

     文件       4822  2017-12-25 09:16  XiangQi\src\server.java

     文件       5879  2017-12-25 18:50  XiangQi\src\ServerAgentThread.java

     文件        460  2017-12-25 09:18  XiangQi\src\ServerThread.java

     文件      13997  2017-12-25 19:43  XiangQi\src\XiangQi.java

     目录          0  2017-12-15 17:16  XiangQi\.settings

     目录          0  2017-12-25 17:41  XiangQi\bin

     目录          0  2017-12-15 17:36  XiangQi\image

     目录          0  2017-12-25 17:41  XiangQi\src

     目录          0  2017-12-28 10:21  XiangQi

----------- ---------  ---------- -----  ----

               108225                    27



............此处省略0个文件信息

评论

共有 条评论