上网中国象棋与国际象棋棋盘的制作方法

文档序号:1588631阅读:261来源:国知局
专利名称:上网中国象棋与国际象棋棋盘的制作方法
技术领域
本发明涉及一种中国象棋与国际象棋棋盘,它在外观上和普通的中国象棋棋盘或国际象棋棋盘相同,不同的是它可以自动记录中国象棋或国际象棋的对弈过程,并可以在行棋一开始或者在行棋过程的任意时刻和计算机相连,把行棋的过程显示到互联网上,是一种专门用途的计算机外围设备。
背景技术
现在使用的中国象棋棋盘,是在平面物体上绘制垂直相交的10条水平直线段和9条垂直直线段再稍加修饰并附加一些辅助图形而构成的。这些线段的交点是棋子的着点称之为格点。棋子放在格点上,可从一个格点移动到另一个格点,也可以从一个格点拿出棋盘。国际象棋棋盘则是由纵横各8格、颜色一深一浅交错排列的64个小方格组成的,棋子放在方格内并可从一个方格移动到另一个方格,也可以从一个方格拿出棋盘,方格的深浅是为直观和方便而设的,没有本质作用。随着中国象棋和国际象棋竞赛的增多及其教育的普遍化,让更多的人看到一盘实时进行的中国象棋或国际象棋成为需要。特别是重大的中国象棋或国际象棋比赛,全中国乃至全世界成千上万人翘首以待每一着棋子的落地,但他们决大多数是不可能到达现场的。为此,现在通行的做法是“及时”(但总是滞后)地把行棋的过程(片段)记录为“棋谱”(片段),然后交给讲解人去重现在讲解盘上,再通过电视转播或将棋谱输入计算机通过互联网和更多的人见面。记录和传递棋谱的滞后,让人觉得如盼星月,而且还难免出错。实在需要一种让人们真正及时地看到行棋过程的简便工具。

发明内容
为了使世界各地的人都能实时看到一盘远在天涯的中国象棋或国际象棋,本发明提供一种上网中国象棋与国际象棋棋盘,把它和互联网上的计算机相连,就可以把行棋的过程真正及时地展现在互联网上,让所有的人观看。同时,它还把整个行棋过程自动地记录下来,便于重现。
本发明的技术方案是构建一个系统,它具有一个可更换的表面,根据需要,或者是一个普通的中国象棋盘,或者是一个普通的国际象棋盘,随着一局和更换的表面相对应的象棋(中国象棋或国际象棋)在盘面上展开,该系统可以自动形成一个记录该局象棋的电子棋谱。现在,已经有了很多的中国象棋和国际象棋的对弈软件和记录软件,只要用一个接口程序把所记录的棋谱解释为这些软件能识别的格式亦或直接配一个显示程序,我们的目的就达到了。
这个方案我们分两部分来说明一、理论基础1、中国象棋棋子在棋盘上的运动与国际象棋棋子在棋盘上的运动的描述形式的统一一个中国象棋的棋子在棋盘上的运动过程就是这些棋子在棋盘的格点上变动的过程。用棋盘格点的坐标的变动来描述棋子的运动是最标准的手法。但国际象棋棋盘是由格组成的,我们把它的每一个格子都缩小为它的对称中心并且也称之为格点,则国际象棋的棋子在棋盘上的运动过程也就成了棋子在如上形成的格点上的变动的过程。于是,也就可以用格点的坐标的变动来描述棋子的运动了。
2、象棋着法的规范化无论是中国象棋还是国际象棋,规定在一着棋的进行中棋子从棋盘上拿起来就不能再原地放下,棋子在棋盘上放下了就不能再拿起来。因此,把一个棋子试拿几下再拿起来或点几下再放下都是不允许的。于是,一着棋从棋盘上提起和放下棋子的次数便都不多于2。
3、中国象棋与国际象棋的着法描述和棋谱形式的简化及统一从下棋过程中棋盘盘面是如何变化这一角度看,中国象棋的着法有两种1是把棋盘上的某一个棋子从它原来的位置移动到一个新的没有棋子的位置,这是普通的“走棋”;2是把棋盘上的某一个棋子从它原来的位置移动到一个安放有对方棋子的新位置,而把对方的棋子拿走,这种着法称为“吃子”。国际象棋除了和中国象棋相同的着法即“走棋”和“吃子”外,还有如下的着法1)、吃过路兵,2)、王车易位,3)、升变,而升变又有“升后”、“升象”、“升马”和“升车”的区别,总计有8种之多。
传统的记谱方法记录一盘棋,要用许多要素1)、行棋的回合数,2)、红方还是黑方(国际象棋用白方还是黑方),3)、兵种,4)、移动前后的位置,5)、着法特征(如“吃过路兵”e.p.“升后”=后等)。其中,兵种是最复杂的要素,用逻辑电路来处理很不方便。除了“升变”后的兵种是特殊说明的,“王车易位”是一个特定的程式外,由于各棋子的初始位置是确定的,只要记录了每一次移动的初始和终了位置,那么,这个位置是哪一个兵种的棋子就唯一确定了,所以,兵种的记录可以省去。又由于对局双方总是交替行棋,因此,记录是红黑或白黑的因数也可省略。最后,关于回合数的记录,我们也只留下其中最本质的东西,即“顺序”。因为,有了顺序,回合就可以计算出来了。由于中国象棋的着法描述包含于国际象棋的着法描述中,所以,我们可以把它们的棋谱记录设计成统一的形式即顺序排列的每着棋移动棋子的初始位置、终了位置和着法特征构成的三元组的序列外加一个“王车易位”的特例。当然,“位置”的描述最简单的就是二维数组构成的笛卡尔坐标,后面我们提到“位置”和这一位置的笛卡尔坐标有相同的含义,而着法特征最简单的是用数字来表示,称为“特征数”。
为了使得记谱的方法和硬件设计取得最简明的效果。根据以上着法的不同特点,我们将这些着法分为三类第一类包含“走棋”、“吃子”和“吃过路兵”。它们的共同特点是一着棋的进行过程中有一个棋子从棋盘上的一个位置移动到了另一个位置,因此,在一着棋走完后这个位置的兵种就是其初始位置的兵种,无须说明。另一个特点是如果行棋过程还包含吃子,那么,被吃的子的位置也是完全确定的,是附加过程。因而,它们的棋谱用移动棋子的初始位置、终了位置和一个不带有附加意义的特征数0构成的三元组来表示。这种记谱方法和现行的标准记谱方法几乎一样。
从硬件设计的角度看,这类着法的特点是整个过程需从棋盘上提起一个或两个棋子而仅有一个棋子着放到棋盘上。着放棋子的这个位置就是所谓“在棋盘上移动”的棋子的“终了位置”。它的“初始位置”,在只从棋盘上提起一个棋子时,就是这个被提起的棋子的位置;当一着棋从棋盘上提取两个棋子的时候需要用选择电路选择出是哪一个棋子吃掉了另外一个棋子,并把它的位置记为“在棋盘上移动”的棋子的“初始位置”。为此,对于普通的“吃子”,可利用被吃棋子的位置和唯一着放到棋盘上的棋子的位置相同,而当吃子为“吃过路兵”时,可利用被吃棋子的横坐标和着放到棋盘上的棋子相同的特点来确定“在棋盘上移动”的棋子的“初始位置”。
第二类着法是“升变”,包括“升后”、“升象”、“升马”和“升车”。它们除了和第一类着法相同的特点外还需指明升变后的棋子是何兵种。因此在记录它们的棋谱时,要把记录第一类着法的棋谱的“特征数”一项分别赋予1表示“升后”、2表示“升象”、3“升马”和4“升车”。
第三类着法只有一个,即“王车易位”。它在行棋过程中有两个棋子要从棋盘上拿起来,而且要放到棋盘上两个不同的地方,看起来好象很复杂,但是,由于它是一个特定的过程,只要知道是长易位还是短易位,棋子的着法就是完全确定了的。和通常的棋谱用0-0或0-0-0来记录它们类似我们用虚拟的“初始位置”0来表示这着棋是“王车易位”,而易位的“长”“短”可用其中任意一个着放棋子的位置的坐标来确定。至于特征数,因为已经没有任何需要补充的信息,所以也就记为不含附加意义的0。
二、系统的设计方案在平面上绘制垂直相交的10条水平直线段和9条垂直直线段形成90个交叉点,也称为格点。当要把棋盘作为中国象棋上网棋盘使用时,就用一个薄纸制的中国象棋棋盘覆盖于其上,并让它们的格点重合;如果要作为国际象棋上网棋盘使用时,就用一个薄纸制的国际象棋棋盘覆盖于其上,但此时需使国际象棋棋盘的每一个格子的中心相应地与如上绘制的90个格点中左下的64个格点重合且坐标的增加方向一致。
在如上绘制的90个格点的每一个下面安装一个可以感知该格点是否有棋子存在的“位置传感器”(例如各种接近开关或接触开关)、存储该传感器状态的状态存储器和一个逻辑判别电路组成的“着提子判别器”,形成一个着提子判别器矩阵。用1到9的数字作为横坐标,用1到10的数字作为纵坐标给这些判别器编号,这样编号的二维数组称为它们的地址,它也是该点所下的棋子的地址,也就是它们在棋盘上的位置。构建一个矩阵扫描电路巡回检测这些判别器中传感器的状态并把它与其状态存储器中在上一巡回中存储的状态进行比较,如果状态不同,就把新检测到的传感器的状态写进其状态存储器中。如果这种“不同”是检测到的状态是“有子”而状态存储器中原来的状态是“无子”时,是一着棋进行过程中往棋盘上着子的过程,而如果这种“不同”是检测到的状态是“无子”而状态存储器中原来的状态是“有子”时,是从棋盘上提取棋子的过程。当这个过程是“着子”时,则在把新状态写入状态存储器的同时还在一个称为“着子地址存储器”的寄存器中写入这个变化发生的地址。当这个过程是“提子”时,则在把新状态写入状态存储器的同时在一个称为“提子地址存储器”的寄存器中写入这个变化发生的地址。“着子地址存储器”只有一个存储单元,只能存储一个着子地址。当一着棋中有两个棋子先后着放到棋盘上时,一定是“王车易位”,它只记录其中的一个,这样就可以区分“易位”的长短了。“提子存储器”是二单元的并入并出移位寄存器,当一着棋中有两个棋子先后从棋盘上被提时,“着提子判别器”就把这两个地址顺序记入这两个单元中。
“初始位置选择器”由若干逻辑电路组成,作用是从“提子地址存储器”中选择一着棋中被移动棋子的初始位置的坐标,送到“棋谱存储器”,作为这着棋的棋谱的第一元。第二元是“着子地址存储器”中的坐标。第三元是“特征数”。它的产生对第一类和第三类着法是保持清0时的状态,第二类着法由“升变按钮”加编码器组成的特征数发生器生成。
一着象棋是这样完成的,对方棋手下完棋,按一下计时键,开启本方棋手的时钟,同时把“提子地址存储器”、“着子地址存储器”和“特征数存储器器”清0,随后,本方棋手开始行棋拿起要移动的棋子,拿走要吃掉的棋子(如果有),此时,“初始位置选择器”就通过对缓冲器的控制,滤掉被吃棋子的坐标(如果有)而把移动棋子的坐标送到棋谱存储器的输入端;然后,棋手把要移动的棋子放到要移动到的位置,此时,“着子地址存储器”就把着子位置的坐标送到棋谱存储器输入端的相应位置,如果着子有两次即“王车易位”的情况,着子位置的坐标就是后输入的一个,而对于它也不再有所谓“移动棋子”的“初始位置”和“终了位置”的区分,而只需要一个说明这着棋是“王车易位”的记号。如果着棋种类为“升变”,在进行完以上步骤后尚需按一下升变按钮,把特征数送入特征数存储器,其输出是棋谱存储器的输入;最后,棋手按计时键,发出一个脉冲作为每着棋完成的记谱脉冲,把这着棋的棋谱记入棋谱存储器。这个脉冲经延迟后把“提子地址存储器”、“着子地址存储器”和“特征数存储器器”清0,待对方行棋。
棋谱存储器是一个并入并出的移位寄存器,行棋双方如上所述交替地进行,每一着棋的棋谱就顺序地存入棋谱存储器中。于是,一个反应了行棋行过程全部要素的动态电子棋谱就循序地生成了。
本发明的有益效果是,无须抄录和传递棋谱,可以把一盘隔离进行的中国象棋或国际象棋实时自动地显示到互联网上,让更多的人观看,避免人工传递棋谱造成的滞后和失误。


下面结合附图和实施例对本发明进一步说明。
图一是本发明的总体设计方案,图二是初始位置选择器的结构,图三是着提子判别器矩阵中地址为XiYj的着提子判别单元。图中,1、着提子判别器矩阵,2、纵坐标译码器,3、横坐标译码器,4、横坐标计数器,5、纵坐标计数器,6、钟脉冲发生器,7、提子地址存储器(1单元),8、计时键,9、提子地址存储器(2单元),10、棋谱存储器,11、初始位置选择器,12、特征数存储器,13、编码器,14、着子地址存储器,15、升变按钮,16、提子地址(1单元)X坐标全同判别器,17、提子地址(1单元)Y坐标全同判别器,18、提子地址(2单元)全零判别器,19、提子地址(2单元)X坐标全同判别器,20、提子地址(2单元)Y坐标全同判别器,21、位置传感器。
具体实施例方式
钟脉冲发生器(6)产生的脉冲驱动纵坐标计数器(5)在1到10的数值中循环变化,其溢出脉冲作为横坐标计数器(4)的计数脉冲驱动其在1到9的数值中变化。它们的输出分别作为纵坐标译码器(2)和横坐标译码器(3)的控制信号。当横坐标译码器的识别信号Xi和纵坐标译码器译出的识别信号Yj均为高电位时,即地址为XiYj的着提子判别器被选中,如图三,当地址为XiYj的棋盘格点上有棋子时,安装于其下的位置传感器21输出高电位,若作为其状态存储器的R-S触发器原先的状态为0,即“无子”的状态,则R-S触发器的Q端为高电位,从而在与SD相连接的与非门输出端输出一个负脉冲,将R-S触发器置1,记住在该地址下了一个子,同时,该负脉冲还经三态门缓冲后送到着子总线,作为写数脉冲把此时横坐标计数器(4)和纵坐标计数器(5)所表示的地址写到着子地址存储器14中。钟脉冲发生器的频率设计得不是很高,使得两个脉冲的间隔时间足可以完成上述的记录过程。若R-S触发器原先的状态就为1,那么,着提子判别器的这个单元将不发生任何变化。
如果当地址为XiYj的着提子判别器被选中时,棋盘格点上没有棋子,则位置传感器输出低电位,若作为其状态存储器的R-S触发器原先的状态为1,即“有子”的状态,则R-S触发器的Q端为高电位,从而在与RD端相连接的与非门输出端输出一个负脉冲,将R-S触发器置0,即记忆了该子被提,同时,该负脉冲还经三态门缓冲后送到提子总线,作为写数脉冲把此时横坐标计数器(4)和纵坐标计数器(5)所表示的地址写到提子地址存储器。若R-S触发器原先的状态就是0,着提子判别器的这个单元也不发生任何变化。
除“王车易位”外,记录任何一着棋的棋谱,要且仅要确定“移动棋子”的初始位置、终了位置和特征数就可以了。首先看初始位置选择器是如何从“提子地址存储器”中把“初始位置”选择出来的1、在一着棋的进行中,只从棋盘上提起一个棋子,那么,图二中提子地址存储器(1单元)7存储的就是这个地址,而提子地址存储器(2单元)9还是清零的状态。于是,提子地址存储器(2单元)全零判别器18输出高电位,把提子地址存储器(1单元)的缓冲器的控制门打开,将其输出送到棋谱存储器的输入端。缓冲器由连接于提子地址存储器(1单元)每一位的输出端的三态门组成,它们的使能端受提子地址存储器(2单元)全零判别器18的输出控制。其他缓冲器也有类似的结构。
2、如果一着棋进行中有两个棋子从棋盘上提起,暂不管王车易位,那一定是“吃子”,“吃过路兵”或吃子后“升变”。确定两个被提起的棋子哪一个是被吃掉的,需要用到它们坐标的性质这里有4个坐标全同判别器16、17、19、20,它们容易由与判别位数相同的同或门组成。提子地址存储器的两个单元各连接着一个X全同判别器(16或19)和一个Y全同判别器(17或20)把它们的坐标和着子地址存储器14中的相应坐标进行比较,当其中一个单元的X坐标和Y坐标与着子地址存储器中的X坐标与Y坐标全相同时,这个单元存储的一定是被吃掉的棋子的地址,与其相连的X全同判别器和Y全同判别器都输出高电位,和它们相连的与门输出高电位,用以打开另一个提子地址存储单元的缓冲器控制门,把它的地址送到棋谱存储器的输入端。容易证明,当一个缓冲器的控制门打开时,另一个一定是禁止输出的。如果没有任何一个单元的X坐标和Y坐标与着子地址存储器中的X坐标与Y坐标都相同时,一定是属于“吃过路兵”的情况,此时,提子地址存储器中必有一个单元的X坐标和着子地址存储器的X坐标相同,而另一个单元的X坐标必然和着子地址存储器中的X坐标不同(且不为“0”,即非“走棋”),把这个不同的X全同判别器的输出反相后与相同的一个的X全同判别器的输出通过与门输出高电位,用以打开另一存储单元即存储了移动棋子的初始位置的单元的缓冲器控制门把地址送到棋谱存储器的输入端。由于在同一竖线上“走棋”时,提子地址存储器(1单元)必与着子地址存储器的X坐标全同,而提子地址存储器(2单元)的坐标全部为0,当然与着子地址存储器的X坐标不同,为了不错误地打开提子地址存储器(2单元)的缓冲器控制门,在提子地址存储器(2单元)全零判别器18的后面增加了一个反相器,将其输出反相后作为封锁信号。这样,在所有的情况下就都有正确的选择了。
仍然不管王车易位,其余着法往棋盘上着子的个数都是1,所以,着子地址存储器中存储的就是这个棋子着放的地址,即“移动棋子”的终了位置,把它和棋谱存储器输入端相连,当记谱脉冲到来时,直接记入就可以了。
再看特征数一项,除了“升变”之外,特征数存储器保持清0时的状态。而升变需要赋予的特征数由棋手用升变按钮输入。
至此,除王车易位外的所有着法都可以生成正确的棋谱了。
再看“王车易位”,由于提子地址存储器的每一个单元中存储的坐标与着子地址存储器中的坐标既没有X全同且Y全同,也没有其中一个是X全同而另一个是X不同,当然也不会是提子地址存储器(2单元)全部为0,所以,“初始位置选择器”给出的控制信号是将提子地址存储器的两个单元的输出缓冲器的控制门都封锁,即均为低电位。注意到当且仅当此时“均为低电位”,利用这个特点,将这两个控制信号输入一个同或门,产生一个高电位去打开“初始位置选择器”连接到棋谱存储器的缓冲器把一个全为0的虚拟地址输入到棋谱存储器的输入端。当记谱脉冲到来时,一个“初始位置”为0,“终了位置”为后面扫描进去的着子的地址,“特征数”为0的三元组被记入棋谱,这正是我们需要的。
从对局开始,双方轮流行棋,每一着棋都正确地记录了它的棋谱,于是一个实时、循序、动态的电子棋谱就生成了。
如前所述,显示到互联网上的工作就可由计算机和相应的程序来完成了。
权利要求
1.一种上网中国象棋与国际象棋棋盘,它是由(1)着提子判别器矩阵、(2)矩阵扫描电路、(3)提子存储器、(4)初始位置选择器、(5)着子存储器、(6)特征数发生器和(7)棋谱存储器等组成的。其特征是着提子判别器每一单元是由可以感知该点是否有棋子存在的位置传感器(例如各种接近开关或接触开关)、存储该传感器状态的状态存储器和一个逻辑判别电路组成的,矩阵扫描电路巡回检测每一个着提子判别器,当棋盘格点上的棋子被拿起或增添一个棋子,着提子判别器就输出脉冲,把对应的地址写入提子存储器或着子存储器中。“初始位置选择器”滤掉被吃棋子的坐标(如果有)而把“移动棋子”的初始位置的坐标送到棋谱存储器的输入端;“着子地址存储器”也把着子位置的坐标送到棋谱存储器输入端的相应位置;特征数发生器生成走棋类型的标志;当记谱脉冲到来时把这些数据就存到棋谱存储器中,动态地生成棋谱。
2.根据权利要求1所述的上网中国象棋与国际象棋棋盘,其特征是着提子判别器的传感器为接近开关,在传感器的工作距离内有棋子存在时传感器输出高电位,反之,输出低电位。
3.根据权利要求1所述的上网中国象棋与国际象棋棋盘,其特征是着提子判别器的判别电路由两个与非门组成,其中一个的输出端接在作为传感器的状态存储器的R-S触发器的置1端并经过三态门缓冲后接到着子地址总线,该与非门的输入端接传感器的输出端、R-S触发器的输出端Q和扫描电路的选通信号,该选通信号也作为三态门的使能端的控制信号。另一个与非门的输出端接在作为传感器的状态存储器的R-S触发器的置0端并经过三态门缓冲后接到提子地址总线,其输入端是传感器的反相输出、扫描电路的选通信号和R-S触发器的输出端Q。
4.根据权利要求1所述的上网中国象棋与国际象棋棋盘,其特征是初始位置选择器是从提子地址存储器的两个单元中选择一个送往棋谱存储器或者在行棋为“王车易位”时输出地址“0”的逻辑电路,其逻辑功能是的实现是把提子存储器的两个单元的坐标和着子存储器的坐标进行比较,如果(1)提子地址存储器(2单元)全部为0,则将地址存储器(1单元)的地址输入棋谱存储器;(2)如果提子地址存储器的两个单元中某一个单元的X坐标和Y坐标与着子地址存储器中的X坐标与Y坐标全相同时,就将另一个单元的地址输入棋谱存储器;(3)如果提子地址存储器的两个单元中一个是与着子地址存储器X坐标全同而另一个是X坐标不同且不为“0”,就将另一个单元的地址输入棋谱存储器;(4)如果不是上述情况(必为“王车易位”)就输出一个虚拟地址“0”。
全文摘要
一种能将在其盘面上进行的中国象棋或国际象棋直接显示到互连网上的上网中国象棋与国际象棋棋盘,它由着提子判别器矩阵、矩阵扫描电路、初始位置选择器、特征数发生器和棋谱存储器等组成。着提子判别器矩阵的每一个单元是由位置传感器、状态存储器和判别电路组成,当棋盘上有棋子增加或减少时即发出相应信号,记录对应地址。初始位置选择器根据着子坐标的特点选择出初始位置的坐标。特征数发生器给出特殊着法的性质特征。计时键作为一着棋的完成信号并发出记谱脉冲把表示一着棋谱的初始位置、终了位置和特征数记入棋谱存储器。按行棋顺序进行,就形成了一个动态的电子棋谱。利用现成的象棋对弈软件和相应的接口程序就可以把行棋过程实时显示到互连网上。
文档编号A63F3/02GK1866239SQ20051007248
公开日2006年11月22日 申请日期2005年5月18日 优先权日2005年5月18日
发明者赵汝怀 申请人:赵汝怀
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1