1 算法分设计与分析课程设计 算法设计与分析课程设计 题目:跳棋问题 班级: 姓名: 学号: 2 算法分设计与分析课程设计 正文 1、课程设计报告 1
1 问题描述 国际跳棋(drau ghts)也称西洋跳棋,它的棋盘是由深浅两色相间的10X10的小方格 组成的一个大正方形
国际象棋的棋盘是64格的,它比国际象棋的棋盘整整多了一圈
棋盘上深色的格子叫黑格,浅色的格子叫白格
对局时,棋盘放在对局者中间,双方左下角的第一个格子必须是黑格,不能摆错
与国际象棋不同的是,棋盘上的黑格才是国际跳棋摆棋子和行棋的地方,无论任何时候,都不能把任何棋子放到白格中去
对局时,棋子的原始摆法为:20 枚白兵排列在已方后四排的黑格内,白方棋子同黑,白棋摆在 1 到 20 棋位,黑棋摆在 31 到 50 棋位
经过一段对局,任何一方的兵冲破重重障碍,走至并停留在对方底线,即升变为王棋,如果没有停留在对方底线不能立即成王
王棋可以用两个兵摞起来表示,也可以将兵翻转过来做王棋
兵与王棋的走法: 对局开始,由执白棋者先行,然后由黑棋行棋;双方轮流走子,直到终局
白、黑各走一着叫一个回合
对局开始时,出现在棋盘上的都是兵
兵在走棋时,每步棋只能向前方邻近的空棋位上向左或向右移动一格,并且只能前进,不允许后退
兵的吃子法是用跳的形式进行的
这和一般跳棋的走法相似,只要自己的一个兵与对方的一枚棋子相遇,并且与这两枚棋子成一斜行的、紧挨着对方棋子的棋位是空着的,那么,轮至走子的一方就要用自己的兵跳过对方的棋子,放在紧挨着对方棋子后面的空棋位上,将对方的那枚棋子吃掉
吃子时,可以象普通跳棋一样一次连跳连吃几枚棋子,但连跳时不允许以自己的棋子为桥梁,也就是说 ,自己的棋子不能从自己的棋子上越过去再去吃对方的棋子
兵吃子时可以后退
王棋的走法与兵不同,它可以前进,可以后退,只要在一条斜线上,一次移动几格都可能