資源簡介
此代碼是利用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個文件信息
評論
共有 條評論