今天为大家继续分享其他的一个非常不错的程序------中国象棋的开发与制作 428,目前系统已经完成了初步功能,后续会进一步完善。整个系统界面漂亮,有完整得源码,希望大家可以喜欢。喜欢的帮忙点赞和关注。一起编程、一起进步!!
开发环境
开发语言为Java,开发环境Eclipse或者IDEA都可以。运行主程序,或者执行打开JAR文件即可以运行本程序
系统框架
利用JDK自带的SWING框架开发,不需要安装第三方JAR包。纯窗体模式,直接运行Main文件即可以。选中APP.java,点右键 run as application启动相关程序。也可以把程序打包成JAR包,双击JAR即可以启动相关的程序。
游戏主要功能
1 中国象棋简介
中国象棋是起源于中国的一种棋,属于二人对抗性游戏的一种,在中国有着悠久的历史。由于用具简单,趣味性强,成为流行极为广泛的棋艺活动。中国象棋使用方形格状棋盘,圆形棋子共有32个,红黑二色各有16个棋子,摆放和活动在交叉点上。双方交替行棋,先把对方的将(帅)“将死”的一方获胜
2 游戏规则
中国象棋是由两人轮流走子,在战法上遵循古代孙子兵法中的“不战而屈人之兵,善之善者也”的作战思想,以“将死”或“困毙”对方将(帅)为胜的一种二人对抗性游戏。对局时,由执红棋的一方先走,双方轮流各走一招,直至分出胜、负、和,对局即终了。在棋战中,人们可以从攻与防、虚与实、整体与局部等复杂关系的变化中提升思维能力。详细规则如下:
-
对局开始前,双方棋子在棋盘上的摆法见右图。
-
对局时,由执红棋的一方先走,双方轮流走一步。
-
轮到走棋的一方,将某个棋子从一个交叉点走到另一个交叉点,或者吃掉对方的棋子而占领其交叉点,都算走了一着。
-
双方各走一着,称为一个回合。
-
走一着棋时,如果己方棋子能够走到的位置有对方棋子存在,就可以把对方棋子吃掉而占领那个位置。
-
一方的棋子攻击对方的帅(将),并在下一着要把它吃掉,称为“照将”,或简称“将”。“照将”不必声明。被“照将”的一方必须立即“应将”,即用自己的着法去化解被“将”的状态。如果被“照将”而无法“应将”,就算被“将死”。
3 象棋主要功能
本系统的主要功能包括以下几个方面
1 正常人人对战。红方和黑方每个一人下一局
2 背景音乐播放。播放与象棋相关的背景音乐,循环播放器
3 保存棋局。保存好的棋局,可以直接加载进来,继续对战。
4 重新下棋。用户在下棋过程,用户点击重新下棋,系统会弹出确认框,用户确认后,会重
新下棋。
5 退出系统
系统运行效果
1 开始界面
2 对战中界面
3 保存棋局
关键代码
private void drawChess(Graphics g, int num, int x, int y) {
int px = x0 + x * lineHeight - chessSize / 2;
int py = y0 + y * lineHeight - chessSize / 2;
Image image = null;
switch (num) {
case redJiang:
image = redJiangImg;
break;
case redShi:
image = redShiImg;
break;
case redXiang:
image = redXiangImg;
break;
case redMa:
image = redMaImg;
break;
case redChe:
image = redCheImg;
break;
case redPao:
image = redPaoImg;
break;
case redZu:
image = redZuImg;
break;
case blackJiang:
image = blackJiangImg;
break;
case blackShi:
image = blackShiImg;
break;
case blackXiang:
image = blackXiangImg;
break;
case blackMa:
image = blackMaImg;
break;
case blackChe:
image = blackCheImg;
break;
case blackPao:
image = blackPaoImg;
break;
case blackZu:
image = blackZuImg;
break;
case EMPTY:
break;
case select:
image = selectedImg;
break;
default:
throw new IllegalStateException();
}
g.drawImage(image, px, py, null);
}