王宫双门棋游戏编程中相关技巧探索.docVIP

王宫双门棋游戏编程中相关技巧探索.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
王宫双门棋游戏编程中相关技巧探索

王宫双门棋游戏编程中相关技巧探索   【摘要】本文主要工作是围绕藏棋游戏中较为流行的藏棋之一“王宫双门棋”,论述了“王宫双门棋”游戏编程中对棋盘表示、棋子落点、棋盘坐标选取等方面的技巧探索。??   【关键词】王宫双门棋;棋盘表示;棋子落点   The related technique investigate in the “palace double door chess” game plait distance??   Hang Ying??   【Abstract】This text is main work is around hide in the chess game more popular of hide a“palace double door chess” of the chess, discuss“palace double door chess” game plait distance in mean to the chessboard, the pawn fall point, the chessboard sit a mark selection etc. of technique investigate.??   【Key words】Palace double door chess;The chessboard mean;The pawn fall a point   当今,国际象棋、中国象棋、围棋号称世界三大棋种。其中,以中国象棋和围棋为主要代表的这些棋类游戏在中国可以说是源远流长。   传统藏棋是一种在藏族地区广为流行的传统游戏方式,而以黑白子在纵横交错的棋盘上应对的盘上游戏为多种。其中,“密芒”是藏族棋类游戏中历史最悠久、最具影响的游戏种类,类似围棋下法,故亦称“藏围棋”。除“密芒”之外,藏区还流行着多种藏棋,如:王宫多门棋、六子棋、手鼓棋等。其中,主要流行的藏棋是:王宫多门棋,也称为围王棋。王宫多门棋有分为:王宫独门棋、王宫双门棋和王宫四门棋三种。??   图1 “王宫独门棋”棋盘 图2 “王宫双门棋”棋盘 图3 “王宫四门棋”棋盘   本文主要研究藏棋中的“王宫双门棋”,因此,归纳“王宫双门棋”的规则具体如下:??   1. 棋盘和棋子 ??   1.1 棋盘。   “王宫双门棋”棋盘由九道横线、五道纵线和六道斜线交叉组成。棋盘上共有37个交叉点,棋子就摆放和活动在这些交叉点上,棋盘两端三角形区域叫做“王宫”。??   1.2 棋子。   “王宫双门棋”棋子共有二十六个,分为黑、白两种,黑子2个,白子24个。??   2. 走棋和吃子 ??      2.1 对弈。   在开局时,2个黑子和8个白子放在棋盘固定的位置上,由黑子先走,双方轮流各走一着,直至分出胜负为止。??   2.2 棋子的走法。??   黑子:黑子不吃子时,每次移动一步,当吃子时必须跳吃。??   白子:待黑子每移动一步,白子落一子,待16个子全部落完后,所有白子开始移动,每次移动一步。??   2.3 吃子。   黑子吃白子:即黑子与白子相邻时,在这两子所处的直线上白子相邻的位置无子时,黑子可跳过该白子到达无子的空位,则该白子被吃;白子不能吃黑子,只能将黑子围住。??   3. 胜负   若黑子吃掉7个以上白子,并且有黑子可以移动,则判定黑方胜;若黑子吃掉白子不足7个,且两个黑子都无处可走,则判定白方胜。??      3.1 “王宫双门棋”棋盘的表示技巧。   棋盘表示就是使用一种数据结构来描述棋盘及棋盘上的棋子,以方便计算机处理。一般说来,这与具体的棋类知识密切相关。通常,最典型的方式是使用一个二维字节数组来描述棋盘及棋盘上的棋子信息。例如,中国象棋的棋盘是使用一个 9×10 的二维数组来表示。棋盘的数据表示直接影响到程序的时间及空间复杂度。??   从棋子的角度考虑,如果把棋盘看成是一个平面坐标系,可以知道每一个棋子的位置信息,包含一个横坐标和一个纵坐标。因为在棋盘上最多有26个棋子,所以可以用一个有26个字节的一维数组表示所有26个棋子的位置,其中每个字节的高4位表示该棋子的横坐标,低4位表示该棋子的纵坐标。而已经被吃掉的棋子用坐标范围以外的数表示。这样整个棋盘信息就被装进了这26个字节当中。??   上面介绍的两种棋盘表示方法:一是做一个棋盘数组(每个元素记录棋子的类型);二是做一个棋子数组(每个元素记录棋子的位置)。如果一个程序同时使用这两个数组,那么获得棋子的类型和棋子的位置都可以在常数时间内完成。这就是“棋盘-棋子联系数组”,此数组可以定义为:??    struct PositionStruct { ??    int Squa

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

认证主体王**

1亿VIP精品文档

相关文档

相关课程推荐