中国象棋(Java版)

版本1.0



程序简介:

如果程序运行之后报错 ,一般是由于JDK版本不同的原因,我使用的是JDK1.7,因为在JDK1.7中加入了Swicth(String)即可以对字符串进行切换,

所以会出如下问题:


把JDK版本更新到1.7版本即可,如果不愿升级的话请下载这个文件http://download.csdn.net/detail/yy873259480/4583430然后把原来的文件覆盖就行了,如果显示的字体和上图中显示的不同,请把【res文件夹】中的【华文新魏.ttf】拷入【C:\WINDOWS\Fonts文件夹】下!

下载地址:

http://download.csdn.net/detail/yy873259480/4540460

版本2.0

程序界面:

编译环境:

JDK1.7 + Eclipse3.7

更新内容:

① 添加了版本v1中没有实现的功能;

② 添加了游戏记录保存功能;

③ 添加了声音控制功能,当然还有点缺陷;

④ 添加了游戏棋谱

⑤ 添加了开始新游戏功能

⑥ 修改了程序的结构和界面

下载地址:

http://download.csdn.net/detail/yy873259480/4552043

版本2.1

更新内容:

① 该版本主要修改了以前版本中所存在的bug和部分代码结构

下载地址:

http://download.csdn.net/detail/yy873259480/4556070

修正一个bug (车的判断有点问题)

原来的代码:

		case 1:
			if (newi == oldi) {//水平移动
				int k = 0;
				if (newj > oldj) { // 红车水平向右方向移动
					for (int i = oldj; i <= newj; i++) {
						if (chessFlag[oldi][i] > 0) {
							k++;
						}
					}
				} else {
					for (int i = oldj; i >= newj; i--) { // 红车水平向左方向移动
						if (chessFlag[oldi][i] > 0) {
							k++;
						}
					}
				}
				if (k <=2) {
					b = true;
				}
			} else if (newj == oldj) { //垂直移动
				int k = 0;
				if (newi > oldi) {// 红车垂直下方向移动
					for (int i = oldi; i <= newi; i++) {
						if (chessFlag[i][oldj] > 0) {
							k++;
						}
					}
				} else {
					for (int i = oldi; i >= newi; i--) { // 红车垂直上方向移动
						if (chessFlag[i][oldj] > 0) {
							k++;
						}
					}
				}
				if (k <= 2) {
					b = true;
				}
			}
			break;
		case 6:


修改为如下代码即可:

		case 1:
		case 10:
			if (newi == oldi) {//水平移动
				int k = 0;
				if (newj > oldj) { // 红车水平向右方向移动
					for (int i = oldj; i <= newj; i++) {
						if (chessFlag[oldi][i] > 0) {
							k++;
						}
					}
				} else {
					for (int i = oldj; i >= newj; i--) { // 红车水平向左方向移动
						if (chessFlag[oldi][i] > 0) {
							k++;
						}
					}
				}
				if (k <2) {
					b = true;
				}
			} else if (newj == oldj) { //垂直移动
				int k = 0;
				if (newi > oldi) {// 红车垂直下方向移动
					for (int i = oldi; i <= newi; i++) {
						if (chessFlag[i][oldj] > 0) {
							k++;
						}
					}
				} else {
					for (int i = oldi; i >= newi; i--) { // 红车垂直上方向移动
						if (chessFlag[i][oldj] > 0) {
							k++;
						}
					}
				}
				if (k < 2) {
					b = true;
				}
			}
			break;
		case 6:





你可能感兴趣的:(Java)