中国象棋规则01<转>

  1. 棋盘:

    中国象棋的棋盘有九条平行的竖线和十条平行的横线相交而组成,其中共有九十个交叉点,棋子就摆在这些交叉点上。中间部分(棋盘的第五,第六两横线之间末画竖线的空白地带)称为 河界 。两端的中间(两端第四条到第六条竖线之间的正方形部位),以斜交叉线构成中文字形方格的地方,叫作 九宫 (它恰好有九个交叉点)。

  2. 2

    界河:

    这是一个和国际象棋不同的地方,及对垒双方的中间有一条河界,通常称其为楚河,也就是说棋子过河才能攻打对方的首领。这些规则都是和中国古战场的一些场景类似,并且逐渐演变而来成为中国象棋的行棋基本规则。

  3. 3

    九宫:

    双方的底线中心处,也就是纵向中心线分别向两边外移一条线(第四条到第六条竖线)之间的正方形部位,以斜交叉线构成  字方格的地方,叫作 九宫 (它恰好有九个交叉点),知道这个区域,对理解一些走棋规则很有帮助。

  4. 4

    棋子:

    所有的棋子共有三十二个,其中又分为红、黑两组(分别代表对垒的一方),每组共有十六个棋子(为了区别双方的棋子,不仅在颜色中有所区别,而且还会使用同音不同字的棋子),其中又各分为七种棋子,其名称和数目如下:

    红棋子:帅一个,车、马、炮、相、士各两个,兵五个。

    黑棋子:将一个,车、马、炮、象、士各两个,卒五个。

  5. 5

    将(帅):

    虽然名称不同,但它们这都是对垒双方的最高统帅,对垒的目的就是通过运用各自的棋子,想方设法将对方的首领将死,方为己方胜利。这两位棋子的最高统帅,只能在九宫内行走,不得走出九宫外。行走的步法为:左、右横走,上、下竖走都行,但每次只能行走一格。将和帅不准在同一直线上直接对面(中间无棋子),如一方已先占据位置,则另一方必须回避,否则就算输了。

  6. 6

    士(仕):

    每行一步棋,只许沿着 九宫 中的斜线行走一步(方格的对角线),行走方位可进、可退,其最终目的也是为了护卫各自的最高将领(帅、将)。

  7. 7

    象(相):

    此棋不能越过 河界走入对方的领地,其走法为:只能斜走(两步),可以使用汉字中的田字形象地表述:田字格的对角线,即俗称象(相)走田字。行走方位可进、可退,但是,当象(相)行走的路线中,及田字中心有棋子时(无论己方或者是对方的棋子),则不允许走过去,俗称:塞象(相)眼

  8. 8

    车(車):

    此棋是中国象棋中棋力最强的棋子,每行一步棋可以上、下直线行走(进、退);左、右横走(中间不隔棋子),且行棋步数不限。

  9. 9

    炮(砲):

    此棋的行棋规则和车(車)类似,横平、竖直,只要前方没有棋子的地方都能行走。但是,它的吃棋规则很特别,必须跳过一个棋子(无论是己方的还是对方的)去吃掉对方的一个棋子。俗称:隔山打炮

  10. 10

    马(馬):

    走棋规则:使用中国的日字来形容马的行走方式比较贴切,俗称:马走日字(斜对角线)。但是,这里有一个行走规则,可以将马走日分解为:先一步直走(或一横)再一步斜走,如果在要去的方向,第一步直行处(或者横行)有别的棋子挡住,则不许走过去(俗称:蹩马腿)。行走范围不限,可以进、也可以退。

  11. 11

    卒(兵):

    在没有过河界前,此棋每走一步棋只许向前直走一步(不能后退);过了河界之后,每行一步棋可以向前直走,或者横走(左、右)一步,但也是不能后退的。根据此规则,卒(兵)走到对方的底线只能左右横走,俗称:兵走老了

  12. 12

    吃子:

    ①无论什么棋子,通常只要根据行棋规则能走到的部位有对方的棋子就能吃掉对方的棋子。

    ②而唯一列外的是炮的吃棋方法,比较特殊,需要中间隔有旗子(无论是己方的还是对方的棋子)才能吃掉对方的棋子。

  13. 13

    将死和困毙:

    ①一方的棋子攻击对方的将(帅),并在下一步要把它吃掉,称为照将,或简称。照将不必声明。

    ②被照将的一方必须立即应将,即用自己的着法去化解被将的状态(而不能应将不顾,而走其它的棋子)。

    ③如果被照将而无法应将,就算被将死(一方胜棋)。

    ④轮到走棋的一方,无子可走,就算被困毙(无棋可走这方为输棋)。

  14. 14

    行棋规则:

    对局时,由执红棋的一方先走,双方轮流各走一着(双方各走一着,称为一个回合),直至分出胜、负、和,对局即算终了。

    END

原文地址:https://www.cnblogs.com/deng37s/p/9060273.html

时间: 2024-10-19 13:13:42

中国象棋规则01<转>的相关文章

VC++源码分析 - 中国象棋源码分析

下载自 http://www.newxing.com/Code/VC/game/1750.html 运行界面如下: 看下类图: 资源: 主对话框: 源码说明: 本人机对弈程序采用了多种搜索算法.以下是本程序主要的类说明: 1.CEveluation类:估值类,对给定的棋盘进行估值. 2.CMoveGenerator类:走法产生器,对给定的棋盘局面搜索出所有可能的走法. 3.CSearchEngine类:搜索引擎基类. 4.CNegaMaxEngine类:负极大值法搜索引擎. 5.CAlphaBe

中国象棋游戏Chess(3) - 实现走棋规则

棋盘的绘制和走棋参看博文:中国象棋游戏Chess(1) - 棋盘绘制以及棋子的绘制,中国象棋游戏Chess(2) - 走棋 现在重新整理之前写的代码,并且对于每个棋子的走棋规则都进行了限制,不像之前那样每个棋子都可以走到任意位置. 也实现了红先黑后,并且每一方走一步,交替走棋的功能. 直接看代码: // Board.h // Board类实现了棋盘的绘制以及显示 // #ifndef BOARD_H #define BOARD_H #include <QFrame> #include &quo

团队-编程项目 中国象棋-需求分析

需求分析: 1.棋盘和棋子的绘制 2.按照象棋规则对棋子进行布局   3.鼠标响应 : 在对弈中,棋子是必须可以移动的,不然游戏无法进行.因此,鼠标左键点击是必不可少的一部分. 4.棋子的功能分析:  中国象棋中各色的象棋棋子的功能使象棋具有了真正的趣味性,中国象棋的棋子的类型大致分为:帅(将).士.象.马.车.炮.兵(卒)等几个类型.  帅(将):红方中的帅和黑方中的将的功能相同,都是只能在九宫格中进行横向和竖向的移动,每次移动一格,并且不能移动超出九宫格,帅和将不能见面.  士:士在整片棋盘

中国象棋棋子及棋盘的绘制

一.题目简介 本课程设计主要是使用Swing这个Java自带的图形开发工具实现中国象棋棋子及棋盘的绘制,并根据相应的象棋规则,可以设计棋谱,完成棋谱的保存和对已保存的棋谱的演示,方便现在爱棋人士对残局的收藏于研究,而且达到了进一步巩固课堂上所学到的知识,深刻把握Java语言的重要概念及其面向对象的特性,熟练的应用面向对象的思想和设计方法解决实际问题的能力的目的. 1.当两方有一方将(帅)被吃掉后,程序不能自动结束或提示游戏结束,但想到该程序并不是要进行两方对弈,而是要设计棋谱所以在能力实现范围内

团队-团队编程项目中国象棋-需求分析

需求分析: 1.棋盘和棋子的绘制 2.按照象棋规则对棋子进行布局   3.鼠标响应 : 在对弈中,棋子是必须可以移动的,不然游戏无法进行.因此,鼠标左键点击是必不可少的一部分. 4.棋子的功能分析:  中国象棋中各色的象棋棋子的功能使象棋具有了真正的趣味性,中国象棋的棋子的类型大致分为:帅(将).士.象.马.车.炮.兵(卒)等几个类型.  帅(将):红方中的帅和黑方中的将的功能相同,都是只能在九宫格中进行横向和竖向的移动,每次移动一格,并且不能移动超出九宫格,帅和将不能见面.  士:士在整片棋盘

【C语言小游戏】 中国象棋

人人对战 [email protected]:~$ cat main.c  //  main.c //  象棋 //  車马相仕帅仕相马車 //  十十十十十十十十十 //  十炮十十十十十炮十 //  兵十兵十兵十兵十兵 //  十十十十十十十十十 //  --楚河-汉界-- //  十十十十十十十十十 //  卒十卒十卒十卒十卒 //  十炮十十十十十炮十 //  十十十十十十十十十 //  車马象士将士象马車 // #include <stdio.h> #include <stdb

中国象棋小游戏(实验三)

一.题目简介 中国象棋历史悠久,本实验的目的是设计一个中国象棋小游戏的java程序,实现中国象棋游戏的基本功能. 二.结对分工及过程 本人和赵岳刚同学分工协作,由一人搜集资料,另一人收集整理,在一人编写代码的同时,由另外一人负责观察代码写的有没有问题,大大提高了工作效率. 三.代码地址 https://github.com/CaesarLH/text3/blob/master/Chess.txt 四.测试情况 过程截图: 1.开始 2.棋子信息 3.棋子走法 4.定义胜利条件 5.其他具体规则

中国象棋-1.0开源啦

代码下载地址:https://code.csdn.net/FansUnion/chinesechess-v1 /** * 项目名称: FansChineseChess * 版本号:1.0 * 名字:雷文 * 博客: http://FansUnion.cn * CSDN:http://blog.csdn.net/FansUnion * 邮箱: [email protected] * QQ:240-370-818 * 版权所有: 2011-2013,leiwen */ 上次更新:2010-11-12

中国象棋游戏Chess(2) - 走棋

之前的文章请看:中国象棋游戏Chess(1) - 棋盘绘制以及棋子的绘制 现在实现走棋的功能. 首先需要获取点击到的棋子,用QWidget中的函数 mouseReleaseEvent 实现函数: void Board::mouseReleaseEvent(QMouseEvent *ev) { // 首先要获取鼠标点击的位置 QPoint pt = ev->pos(); // 看有没有点中象棋 // 将pt转化成象棋的行列值 // 判断这个行列值上面有没有棋子 int row, col; bool