中國象棋演進中,紅藍兩色棋子不對稱的成因

转载 2011年01月14日 15:07:00

試分析中國象棋演進中,紅藍兩色棋子不對稱的成因。

  現在流行的中國象棋,紅藍兩色棋子是不對稱的,紅子用帥、仕、相、兵、車、馬、炮,而藍子用將、士、象、卒、車、馬、砲。現有一說法是:“因為古代象棋子不方便用顏色區別,所以就用不同的字”。我覺得這只是原因之一。 
  據我初步分析,這棋品應該是從皇宮里流出民間的。當皇帝下聖旨要同大臣對弈象棋。在皇權至上的中國,大臣絕不敢贏皇帝,又不能抗旨。於是有聰明的大臣就想出了變更棋子和遊戲規則,務求令到皇帝每局必勝,把原來民間公平競爭的遊戲演變為兵捉賊的遊戲。
  首先我們看看棋子的變化。我相信皇帝同大臣下象棋,每局都一定用紅子。
  紅子用“帥”是想時刻告誡大臣,皇帝才是軍隊最高的統帥。藍子所用的“將”其官階是比“帥”低的。紅子用“仕”是代表服侍皇帝的“仕女”。紅子用“相”,意思 是皇帝有“承相”出謀劃策。“兵”通常是指經過嚴格訓練的軍隊,民間有“爛頭卒”一說,何曾听說過“爛頭兵”?紅子用的是“火炮”,而藍子只配用“擲石機”。這樣一對比,紅藍兩色棋子那方尊那方卑不就一目了然了嗎?
  我相信象棋進入皇宮後,除了棋子的變化外,遊戲規則也一定有利於紅方。試想一下,如果大臣贏了皇帝,他的頭顱還能保得住嗎?故聰明的大臣一定會制定出有利於紅子的遊戲規則。因為現在只有棋品流出了皇宮,而宮庭內對弈象棋的遊戲規則沒有流出民間,故我們沒有辦法考証了。

C#中国象棋代码-棋子移动类

1.棋子基类 抽象类,是所有棋子的基类, 注意几个重要的方法:如CanMoveTo移动算法及MoveTo移动棋子。 using System; using System.Collecti...
  • zjg528
  • zjg528
  • 2016年01月15日 09:09
  • 1141

Unity中国象棋(一)——初始化棋子

新建一个plane,作为背景,新建一个StoneManager脚本,挂在plane上 初始化32个棋子,每个棋子自带6个属性值:ID,x轴的坐标位置,y轴的坐标位置,是否为红子,是否死亡,棋子的类...

中国象棋游戏Chess(1) - 棋盘绘制以及棋子的绘制

本项目都使用QT来实现绘图,没有任何第三方的资源。 工程详情:Github 首先将棋盘设计为一个类Board // Board.h // Board类实现了棋盘的绘制以及显示 // #ifnd...

css练习008--中国象棋盘&&棋子

css象棋盘 *{margin:0px;padding:0px;} body{ background-color:#c8c8c8; } ul li{list-style:none;} #outBo...

中国象棋程序的设计与实现(九)–棋子点,棋子的小窝

本篇简要介绍,在中国象棋程序中,容纳棋子的棋子点。 由于棋子位于棋盘中,为了方便讲解本篇,需要先简要介绍下棋盘的结构。...

朋友写的一个中国象棋游戏,JAVA代码

朋友写的一个中国象棋游戏,JAVA代码。有兴趣的可以这里下载:中国象棋下载 (1)地址,不知现在还能下否。。。。中国象棋历史悠久,吸引了无数的人研究,现对中国象棋的对战和实现棋谱的制作做如下的设计和说...

cocos2d-x游戏开发系列教程-中国象棋03-主界面

前情回顾上个博客说道我们象棋程序进入了欢迎界面,在欢迎界面下等待一秒进入主界面进入主界面的关键代码如下:CCScene* pScene = CCMainMenu::scene();  创建scene....

[AHOI2009]中国象棋

题目描述 这次小可可想解决的难题和中国象棋有关,在一个N行M列的棋盘上,让你放若干个炮(可以是0个),使得没有一个炮可以攻击到另一个炮,请问有多少种放置方法。大家肯定很清楚,在中国象棋中炮的行走...
  • ScaPrt
  • ScaPrt
  • 2017年12月09日 10:02
  • 13

cocos2d-x游戏开发系列教程-中国象棋06-游戏规则

前情回顾上一个博文我们提到象棋运动的函数dealWithChess,但是只是说该函数完成了棋子的选择和移动功能其实在这个函数里,在移动棋子之前,是要对棋子的移动是否合法进行判断的,我们一起来看看如何对...

Unity独立开发——中国象棋

历时一个月,终于基本完成了中国象棋游戏的开发,这是第一个自己独立开发的比较完整的游戏,虽然相对来说比较简单,但是依然很有成就感。目前实现了下棋的基本逻辑(每种棋的行棋规则,以及将军、死棋的判断),还有...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:中國象棋演進中,紅藍兩色棋子不對稱的成因
举报原因:
原因补充:

(最多只允许输入30个字)