Java游戏开发 —— 象棋

公司来活了,忙,暂时没空写完象棋AI这块,等以后再完善吧!

引言:

象棋的代码实现有点复杂,尤其是计算机的AI算法,在网上找了很多资料,费了好半天劲才弄明白其实现的原理,真的挺开阔思路的,很有意思!

思路: 1、创建主窗口,加载菜单及游戏面板。

2、在游戏面板中初始化各种参数,并建立各种功能组件。

3、利用标签图像做棋子,并结合paint()函数。

4、利用mouseMoved()鼠标移动函数设置落子指示器的位置。

5、利用mouseClicked()鼠标单击函数来判断是否可以下棋,由哪方来下,判断是否平局或胜利。如果是人机对战要计算电脑要下棋的最佳位置。

6、游戏结束,收尾,准备下一局。

代码: 

图片位置与包位置平齐,因为我装载图片时是从类路径开始取,取绝对路径是不认可的。

本游戏用的是JDK1.8,编码UTF-8;

共有4个类,Chess.java是游戏入口类。GameFrame.java是主窗口类。GamePanel.java是游戏面板类。GameLogic.java是游戏逻辑类。先一口气把所有的代码贴上来再说。

1、Chess.java 游戏入口类

2、GameFrame.java 主窗口类。

3、GamePanel.java 游戏面板类

4、GameLogic.java 游戏逻辑类。

详解: 
 

运行: 
        

下载:

网盘链接:https://pan.baidu.com/s/1pZIvRxpUZ6-1_4WOtlGiVw 提取码:1y3w

感言: 
 

经验分享 程序员 微信小程序 职场和发展