中国象棋人人对战 - 图文(3)

2020-04-14 01:54

开始 棋子“卒”棋点(i,j) 过河(i,j>=6) 前行一棋点(i,j+1) 棋子不能动 棋子不能动 左或行一棋点 棋子可动 棋子可动 结束 图11 “卒”的走棋规则算法设计流程图 5.3.4 “将”的走棋规则的算法设计

“将”,它只能在“九宫”中行走,而且每次只能横着或者纵着行走一棋点。直接用if语句来判断,首先,用if来判断棋子是否是在“九宫”里行走,接着判断棋子是否是横向或纵向只走一个棋点。如果棋子将符合以上的走棋规则,则可以走动,否则棋子强制放回原处。现在假设将的棋点坐标为(i,j),i为横坐标,j为纵坐标,再设x,y为棋盘内任意值。

算法设计流程图如图12所示:

11

开始 棋子“将”棋点(i,j) 在“九宫”中走(4<=i<=6,j<=3) 纵向(i,j±1)横向(i±1,j) 棋子不能动 棋子可动 棋子不能动 结束 图12“将”的走棋规则算法设计流程图 5.3.5 “炮”的走棋规则的算法设计

“炮”,它只能走直线,且中间有且只能有一个棋子。假设现在坐标为(i,j),则算法设计流程图如图13所示:

12

开始 棋子“炮”,设其棋点为(i,j) 是否是纵向或横向行走 判断 纵向行棋点(i±1,j±y) 横向行棋点(i±x,j±1) 棋子斜向行(i±x,j±y) 起点(i,j)到(i,j±y)棋子数为1 起点(i,j)到(i±x,j)棋子数为1 棋子不能动 棋子可以动 棋子不能动 棋子不能动 结束 图13“炮”的走棋规则算法设计流程图 5.3.6 “象”的走棋规则的算法设计

“象”,它只能走“田”字格,而且不能过河,象腿不能被其它的棋子压到。这样只有一种情况考虑,那就是纵向走两个棋点,横向也走两个棋点。用if语句来判断,首先,用if来判断棋子是否走\田\字格,而且不能过河,接着再用判断语句if来判断象腿是否被其它棋子压着。如果棋子象走动符合以上的走棋规则,则可以走动,否则棋子强制放回原处。现在假设象的棋点坐标为(i,j),i为横坐标,j为纵坐标,再设x,y为棋盘内任意值。

算法设计流程图如图14所示:

13

开始 棋子“象”棋点(i,j) 是否是“田”字格行走 横向走两棋点,纵向走两棋点(i±2,j±2) 棋点(i±1,j±象腿被压 1)有棋子 棋子不能动 棋子不可动 棋子能动 结束 图14“象”的走棋规则算法设计流程图

5.3.7 “士”的走棋规则的算法设计

“士”,它只能在“九宫”中行走,而且每次只能斜着行走一格。这样只有一种情况来考虑,即纵向走一个棋点,横向走一个棋点。if语句来判断,如果棋子士符合以上的走棋规则,则可以走动,否则棋子强制放回原处。现在假设士的棋点坐标为(i,j),i为横坐标,j为纵坐标,再设x,y为棋盘内任意值。

算法设计流程图如图15所示:

14

开始 棋子“士”棋点(i,j) “九宫”中行走(4<=i<=6,j<=3 斜向走一格(i±1,j±1) 棋子不能动 棋子不可动 棋子能动 结束 图15 “士”的走棋规则算法设计流程图 6、编码 见附页。

7、运行结果测试与分析

下图是进入游戏主界面后的游戏界面。

15


中国象棋人人对战 - 图文(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:生病的25种英语说法

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: