您的位置:首页 > 编程语言 > Java开发

中国象棋(Java版)

2012-09-05 19:52 85 查看
版本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