资源简介
此代码是利用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编写的驾校在线考试系统
- 支持向量机算法实现Java、python、mat
- JAVA工具模块TBOX
- 广工java文本编辑器课设源代码
- java 模拟进程调度
- java绘制股票走势图
- java,socket聊天,单聊,群聊,传文件
- 在线投票小程序java源代码
- java ajax上传文件并显示进度条
- Java多线程赛马游戏
- jdk-8u221-linux-x64.tar.gz
- javax.servlet-api-3.0.1-sources.jar
- Java版数据结构与算法视频教程(20集
- java-ymodem/xmodem上位机源码
- C4.5决策树Java实现
- 基于JAVA的学生管理系统源代码
- java版网页图片编辑器
- Java从入门到精通第3和4版书+全套光盘
- 清华大学人工智能大作业源码
- java实现k-means算法137342
- 排课表Java源代码
- Java实战项目 - 办公自动化管理系统源
- Java实战项目 - 图书管理系统源码内有
- 基于java的多线程断点续传程序源代码
- 用java语言编一个聊天小程序
- 用java做的一个答题小程序的作业
- java数据结构视频教程共20集
- cmpp2.0 java源代码
- javax jar包
- 基于令牌桶算法的Java限流实现
评论
共有 条评论