资源简介
此代码是利用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个文件信息
相关资源
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
评论
共有 条评论