资源简介
实训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个文件信息
相关资源
- JAVAEE_学生信息管理系统
- 基于JAVA的销售管理系统源代码
- JAVA简单学生管理系统完整版+设计报告
- JavaSwing进程调度课程设计
- java游戏合集
- Java实现报表源码
- 超市收银系统java源代码264295
- 仓库管理系统+JAVA源代码++设计说明
- java SQL 超市管理系统 软件工程
- SQL+java数据库课程设计,图书销售管理
- Java+SQL教学管理系统 数据库课程设计
- 数据库课程设计+宾馆管理系统+Java+
- java SqlServer-教职工管理系统
- java的JMF包和mp3播放插件
- 韩顺平java视频教程全集含源码
- javaee6 jar
- 古诗自动生成程序JAVA
- 基于JSP java web Sql 简单的购物车源代码
- jsp+sql智能道路交通信息管理系统的设
- java超市管理系统源码
- 基于JSP+servlet的BS模式毕业论文案例
- Web版的数据库管理工具
- 声纹识别代码
- 蓝凌Java产品V14系统安装维护手册.zi
- Java 面试题库,2018-2019年黑马最新版
- Absolute Java(6th) 第六版 英文 PDF 带标
- Java 类图大全(包含Java 1.4.2以来绝大
- Java-EE-API中英对照版(田克传制作)
- 零基础学习java--所有代码
- java2c工具(修复)
评论
共有 条评论