• 大小: 3.04MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-11-11
  • 语言: Java
  • 标签: java  中国象棋  联网  

资源简介

实训java中国象棋源码,分为客户端和服务端,不懂问我

资源截图

代码片段和文件信息

package cn.lym77.chess.game;

import java.awt.Point;
import java.util.Timer;
import java.util.TimerTask;

import javax.swing.JOptionPane;

import cn.lym77.msg.Msg;
import cn.lym77.msg.MsgIo;
import cn.lym77.msg.MsgIo.MsgListener;

public class Game extends GameView implements MsgListener {
public interface GameListener {
public void onEat();

public void onGameOver(boolean isWin);

public void onPeace();

public void onUpdateTime(int self int other);

public void qurryPeace();
}

private GameListener gameListener;
// 存点,起点,终点
private Point saveP startP aimP;
private int color;
private int step;
private MsgIo msgIo;
private int selfTime otherTime;
private boolean isStart;

/**
 * 
 * 构造方法
 * 
 * @param color
 *            己方颜色,0表示红色,1表示黑色
 * @param ip
 *            对方ip
 * @param selfPort
 *            己方端口
 * @param otherPort
 *            对方端口
 */
public Game(int color MsgIo msgIo GameListener gameListener) {
super(null);
this.color = color;
this.gameListener = gameListener;
this.msgIo = msgIo;
this.setEnabled(false);
this.setMap(new int[90]);
msgIo.addListener(this);
new Timer().schedule(new TimerTask() {
@Override
public void run() {
Game.this.msgIo.sendLove();
updateTime();
}
} 1000 1000);
startGame();
}

/**
 * 游戏结束
 * 
 * @param msg
 */
public void end(String msg) {
isStart = false;
if (gameListener != null) {
if (msg.contains(“赢“)) {
gameListener.onGameOver(true);
startGame();
} else if (msg.contains(“输“)) {
gameListener.onGameOver(false);
startGame();
} else if (msg.contains(“和棋“)) {
gameListener.onPeace();
startGame();
} else if (msg.contains(“求和“)) {
gameListener.qurryPeace();
} else if (msg.contains(“开始“)) {
initGame();
}
}
}

/**
 * 初始化游戏
 */
public void initGame() {
this.step = 0;
this.saveP = null;
this.aimP = null;
this.startP = null;
this.selfTime = 20*60;
this.otherTime =20*60;
this.isStart = true;
this.setEnabled(true);
if (color == 0) {
setMap(Rule.getDefaultMap());
} else {
setMap(Rule.rotateMap(Rule.getDefaultMap()));
}
}

/**
 * 判断棋子是否是自己的
 * 
 * @param code
 * @return 如果是返回true
 */
private boolean isSelfChess(int code) {
if (code % 100 == 0) {
return false;
}
return ((code % 100) / 10 - 1) != color;
}

@Override
public void loginFailed() {
// TODO Auto-generated method stub

}

@Override
public void loginSuccess() {

}

public void looser() {
sendMsg(“恭喜你赢了!“);
end(“很遗憾你输了!“);
}

/**
 * 布局转换为字符串
 */
public String mapToString() {
String map = step + “:“;
for (int i = 0; i < getMap().length; i++) {
map = map + getMap()[i] + ““;
}
return map;
}

/**
 * 点击某个点
 */
public void onclick(int x int y) {
Point p = new Point(x y);
// saveP = p;
// upda

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-01-05 14:40  中国象棋2.1\
     目录           0  2016-01-05 14:40  中国象棋2.1\客户端\
     文件     1132917  2016-01-05 12:42  中国象棋2.1\客户端\中国象棋2.1.jar
     目录           0  2016-01-05 12:42  中国象棋2.1\客户端\源码\
     目录           0  2016-01-05 12:42  中国象棋2.1\客户端\源码\ChinaChess\
     文件         512  2006-04-09 16:25  中国象棋2.1\客户端\源码\ChinaChess\.classpath
     文件         386  2016-01-03 09:05  中国象棋2.1\客户端\源码\ChinaChess\.project
     目录           0  2016-01-05 12:42  中国象棋2.1\客户端\源码\ChinaChess\.settings\
     文件         598  2015-12-27 18:26  中国象棋2.1\客户端\源码\ChinaChess\.settings\org.eclipse.jdt.core.prefs
     文件         137  2016-01-03 17:03  中国象棋2.1\客户端\源码\ChinaChess\.settings\org.eclipse.ltk.core.refactoring.prefs
     目录           0  2016-01-05 12:42  中国象棋2.1\客户端\源码\ChinaChess\bin\
     目录           0  2016-01-05 12:42  中国象棋2.1\客户端\源码\ChinaChess\bin\cn\
     目录           0  2016-01-05 12:42  中国象棋2.1\客户端\源码\ChinaChess\bin\cn\lym77\
     目录           0  2016-01-05 12:42  中国象棋2.1\客户端\源码\ChinaChess\bin\cn\lym77\chess\
     目录           0  2016-01-05 12:42  中国象棋2.1\客户端\源码\ChinaChess\bin\cn\lym77\chess\game\
     文件         835  2016-01-05 12:33  中国象棋2.1\客户端\源码\ChinaChess\bin\cn\lym77\chess\game\Game$1.class
     文件         318  2016-01-05 12:33  中国象棋2.1\客户端\源码\ChinaChess\bin\cn\lym77\chess\game\Game$GameListener.class
     文件        6485  2016-01-05 12:33  中国象棋2.1\客户端\源码\ChinaChess\bin\cn\lym77\chess\game\Game.class
     文件         907  2016-01-05 12:33  中国象棋2.1\客户端\源码\ChinaChess\bin\cn\lym77\chess\game\GameView$1.class
     文件        3237  2016-01-05 12:33  中国象棋2.1\客户端\源码\ChinaChess\bin\cn\lym77\chess\game\GameView.class
     文件        3581  2016-01-05 12:33  中国象棋2.1\客户端\源码\ChinaChess\bin\cn\lym77\chess\game\Rule.class
     目录           0  2016-01-05 12:42  中国象棋2.1\客户端\源码\ChinaChess\bin\cn\lym77\chess\main\
     文件         919  2016-01-05 12:39  中国象棋2.1\客户端\源码\ChinaChess\bin\cn\lym77\chess\main\Main$1$1.class
     文件         921  2016-01-05 12:39  中国象棋2.1\客户端\源码\ChinaChess\bin\cn\lym77\chess\main\Main$1$2.class
     文件        1296  2016-01-05 12:39  中国象棋2.1\客户端\源码\ChinaChess\bin\cn\lym77\chess\main\Main$1.class
     文件        3937  2016-01-05 12:39  中国象棋2.1\客户端\源码\ChinaChess\bin\cn\lym77\chess\main\Main.class
     文件        4856  2016-01-05 12:35  中国象棋2.1\客户端\源码\ChinaChess\bin\cn\lym77\chess\main\MainView.class
     目录           0  2016-01-05 12:42  中国象棋2.1\客户端\源码\ChinaChess\bin\cn\lym77\chess\ui\
     文件         848  2016-01-05 12:42  中国象棋2.1\客户端\源码\ChinaChess\bin\cn\lym77\chess\ui\LoginDlg$1.class
     文件        1219  2016-01-05 12:42  中国象棋2.1\客户端\源码\ChinaChess\bin\cn\lym77\chess\ui\LoginDlg$2.class
     文件         791  2016-01-05 12:42  中国象棋2.1\客户端\源码\ChinaChess\bin\cn\lym77\chess\ui\LoginDlg$3.class
............此处省略226个文件信息

评论

共有 条评论