1 问题描述
1.1 要求
设计棋盘,棋子等数据,两个玩家可以依次输入数据控制某一个棋子的移动,并且可以判断一步棋是否合法,不合法不能移动,游戏可以存档,读档,记录下棋的过程,如能按棋谱走棋更佳。
1.2 问题分析
1.2.1 象棋记谱规则
-
红方从右往左为一至九列(用汉字),黑方从左往右为1至9列(用阿拉伯数字)
-
若欲移动的棋子那列没有与该棋子相同的棋子,则记为:
- 棋子+列号+动作+步数,其中,列号按6.1的规则产生,动作有进、退、平三种:往对方棋盘方向走为进,往己方棋盘方向走为退,在同一行上移动为平
- 步数:若棋子移动时不改变列,则记为移动的行数(红方汉字黑方阿拉伯数字);若棋子移动时改变列或棋子走斜线,则记为移动到的新列号。例如:
- 马三进一 红方第三列的马向黑方棋盘方向走一步,移动到第一列
- 卒3进1 黑方第3列的卒向红方棋盘方向走1步,未改变列
- 车二平五 红方第二列的车走到第五列,未改变行
- 象9退7 黑方第9列的象向己方棋盘方向走一步,移动到第七列
- 该列有重子且移动的棋子不为兵、卒,则记为:
- 位置