Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
mychess.client.ChessClient为客户端,打开两个此界面对弈

------一些问题------

1.判断是否游戏结束偶尔出现判断错误
2.时间长会出现游戏崩溃
3.在游戏结束的时候悔棋,会出现异常情况
Expand Down
2 changes: 0 additions & 2 deletions bin/.gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
/mychess/
/chess.properties
/conf/
236 changes: 118 additions & 118 deletions src/mychess/client/ChessBoard.java

Large diffs are not rendered by default.

46 changes: 23 additions & 23 deletions src/mychess/client/ChessClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,32 +15,32 @@
import mychess.util.ReadProperties;


//����ʵ�������ͼ�ν���,������ͨ��
//该类实现象棋的图形界面,并负责通信
public class ChessClient extends JFrame{

private static final long serialVersionUID = 1L;
private JButton restart=new JButton("�ؿ�");
private JButton redo=new JButton("����");
private JButton lose=new JButton("����");
private JButton peace=new JButton("���");
private Image[] pics =new Image[15];//��������ͼƬ
private JButton restart=new JButton("重开");
private JButton redo=new JButton("悔棋");
private JButton lose=new JButton("认输");
private JButton peace=new JButton("求和");
private Image[] pics =new Image[15];//加载象棋图片
private ChessBoard panel;

public ChessClient() {
// pics[1]=Toolkit.getDefaultToolkit().getImage("images/��1.png");
// pics[2]=Toolkit.getDefaultToolkit().getImage("images/��1.png");
// pics[3]=Toolkit.getDefaultToolkit().getImage("images/��1.png");
// pics[4]=Toolkit.getDefaultToolkit().getImage("images/ʿ1.png");
// pics[5]=Toolkit.getDefaultToolkit().getImage("images/˧.png");
// pics[6]=Toolkit.getDefaultToolkit().getImage("images/��1.png");
// pics[7]=Toolkit.getDefaultToolkit().getImage("images/��.png");
// pics[8]=Toolkit.getDefaultToolkit().getImage("images/��2.png");
// pics[9]=Toolkit.getDefaultToolkit().getImage("images/��2.png");
// pics[10]=Toolkit.getDefaultToolkit().getImage("images/��2.png");
// pics[11]=Toolkit.getDefaultToolkit().getImage("images/ʿ2.png");
// pics[12]=Toolkit.getDefaultToolkit().getImage("images/��.png");
// pics[13]=Toolkit.getDefaultToolkit().getImage("images/��2.png");
// pics[14]=Toolkit.getDefaultToolkit().getImage("images/��.png");
// pics[1]=Toolkit.getDefaultToolkit().getImage("images/车1.png");
// pics[2]=Toolkit.getDefaultToolkit().getImage("images/马1.png");
// pics[3]=Toolkit.getDefaultToolkit().getImage("images/相1.png");
// pics[4]=Toolkit.getDefaultToolkit().getImage("images/士1.png");
// pics[5]=Toolkit.getDefaultToolkit().getImage("images/.png");
// pics[6]=Toolkit.getDefaultToolkit().getImage("images/炮1.png");
// pics[7]=Toolkit.getDefaultToolkit().getImage("images/.png");
// pics[8]=Toolkit.getDefaultToolkit().getImage("images/车2.png");
// pics[9]=Toolkit.getDefaultToolkit().getImage("images/马2.png");
// pics[10]=Toolkit.getDefaultToolkit().getImage("images/象2.png");
// pics[11]=Toolkit.getDefaultToolkit().getImage("images/士2.png");
// pics[12]=Toolkit.getDefaultToolkit().getImage("images/.png");
// pics[13]=Toolkit.getDefaultToolkit().getImage("images/炮2.png");
// pics[14]=Toolkit.getDefaultToolkit().getImage("images/.png");

pics[1]=Toolkit.getDefaultToolkit().getImage("images/chess11.png");
pics[2]=Toolkit.getDefaultToolkit().getImage("images/chess10.png");
Expand Down Expand Up @@ -118,13 +118,13 @@ protected void processWindowEvent(WindowEvent e) {
}

public static void main(String[] args) {
ReadProperties.read();//��ȡ�����ļ�
ReadProperties.read();//读取配置文件
JFrame frame=new ChessClient();
frame.setTitle("����");
frame.setTitle("象棋");
frame.setSize(900,700);
// frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
}
8 changes: 4 additions & 4 deletions src/mychess/entity/Code.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package mychess.entity;

public enum Code {
//��Ϣ״̬����
Normal(200,"����"),Redo(201,"����"),Aggree(500,"ͬ�����"),Refuse(501,"��ͬ�����"),
Free(100,"����"),Over(104,"����"),Run(103,"����"),Prepare(102,"׼��");
//消息状态代号
Normal(200,"正常"),Redo(201,"撤销"),Aggree(500,"同意悔棋"),Refuse(501,"不同意悔棋"),
Free(100,"空闲"),Over(104,"结束"),Run(103,"进行"),Prepare(102,"准备");

private int id;
private String des;
Expand All @@ -28,4 +28,4 @@ public String getDes() {
public void setDes(String des) {
this.des = des;
}
}
}
20 changes: 10 additions & 10 deletions src/mychess/entity/DataMessage.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,25 @@

import java.io.Serializable;
/**
* �ͻ��˴��͵�����˵�������Ϣ
* 2019��1��3�� ����10:07:45
* 客户端传送到服务端的数据消息
* 2019年1月3日 下午10:07:45
*/
public class DataMessage extends Message implements Serializable{
private static final long serialVersionUID = 1L;

public int prerow;//�ƶ�ǰ����������
public int prerow;//移动前棋子所在行

public int precol;//�ƶ�ǰ����������
public int precol;//移动前棋子所在列

public int row;//��������������
public int row;//现在棋子所在行

public int col;//��������������
public int col;//现在棋子所在列

public int chess;//�ƶ������Ӵ���
public int chess;//移动的棋子代号

public int eatedChess;//���Ե�������
public int eatedChess;//被吃掉的棋子

public String data;//����
public String data;//数据

public int getPrerow() {
return prerow;
Expand Down Expand Up @@ -77,4 +77,4 @@ public void setData(String data) {
public String getData() {
return data;
}
}
}
16 changes: 8 additions & 8 deletions src/mychess/entity/Message.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,21 @@
import java.io.Serializable;

/**
* ����ͳһ���ĸ�ʽ�����ڿͻ��˺ͷ������˽���
* 2019��1��3�� ����9:55:29
* 定义统一报文格式,用于客户端和服务器端交互
* 2019年1月3日 下午9:55:29
*/
public class Message implements Serializable,Cloneable{
private static final long serialVersionUID = 1L;

public Code code;//��Ϣ״̬���ţ�����ϵͳ��Ϣ���ţ��û���Ϣ�����Լ���Ϸ���̴��ŵ�
public Code code;//消息状态代号,包括系统消息代号,用户消息代号以及游戏过程代号等

public boolean isValid=true;//�ñ����Ƿ�Ե�ǰsocket��Ч
public boolean isValid=true;//该报文是否对当前socket无效

public byte role;//��ǰ��ɫ
public byte role;//当前角色

public boolean yourTurn;//�Ƿ�����Ļغ�
public boolean yourTurn;//是否是你的回合

public int step;//��ǰ����
public int step;//当前步数

public boolean isValid() {
return isValid;
Expand Down Expand Up @@ -64,4 +64,4 @@ public Message clone() throws CloneNotSupportedException {
// TODO Auto-generated method stub
return (Message) super.clone();
}
}
}
1 change: 0 additions & 1 deletion src/mychess/entity/MyObjectOutputStream.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ public MyObjectOutputStream(OutputStream out) throws IOException {
super(out);
}

//��дObjectOutputStream�ķ���,���invalid AC����
protected void writeStreamHeader() throws IOException {
return;
}
Expand Down
8 changes: 4 additions & 4 deletions src/mychess/entity/NormalMessage.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
import java.io.Serializable;

/**
* һ����Ϣ
* 2019��1��3�� ����10:10:34
* 一般消息
* 2019年1月3日 下午10:10:34
*/
public class NormalMessage extends Message implements Serializable{
private static final long serialVersionUID = 1L;
public String attach;//������Ϣ
public String attach;//附加消息

public String getAttach() {
return attach;
Expand All @@ -17,4 +17,4 @@ public String getAttach() {
public void setAttach(String attach) {
this.attach = attach;
}
}
}
Loading