资源简介
实训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个文件信息
相关资源
- java 毕业设计 进销存管理系统 源码
- java图片浏览器跨平台运行程序与源码
- 基于java的在线考试系统-毕业设计
- 微博系统(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编程示例(建模、交互)
评论
共有 条评论