毕业设计-基于Android的中国象棋

一、项目介绍

       基于Android的中国象棋游戏分为人机对弈、双人对弈,人机对弈分为红方和黑方,用户可以选择红方或黑方执棋。游戏开始后,用户选择每一个棋子时,游戏会显示其可以走的格子,可以无限步数悔棋。游戏有游戏音乐、音效开关,可以设置电脑水平初级、中级、高级,双人对弈和人机对弈差不多,区别是人机对弈中是电脑自动走棋,双人对弈需要双方玩家都是手动下棋,且悔棋逻辑也是每次只撤回一步。

二、主要算法

棋子走法的生成

- 步数有限的棋子,如帅(将)、仕(士)、象(相)、马和兵(卒),使用偏移数组来得到棋子所有可能到达的位置,然后再判断棋子到达该位置是否合法即可。 - 步数不限的棋子,如车、炮,使用十字扫描法,即沿着上下左右四个方向扫描,来得到棋子所有可能到达的位置。

象棋局面的判断

- 将军局面的判断 使用反向思维进行考虑,给帅或将赋予对方攻击性棋子的走法,进而找出要吃它的棋子。 - 胜利局面的判断 遍历一方所有可能的走法,如果都被将军,则该方失败,另一方获胜。 - 和棋局面的判断 1) 重复局面出现4次(局面使用Zobrist哈希算法) 2) 双方都没有攻击性棋子 3) 连续60回合双方都没有吃过一个棋子

三、项目截图

还有详细代码说明文档

------转载请注明出处,感谢您对原创作者的支持------

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值