|
我從小酷愛(ài)中國(guó)象棋,它對(duì)我一生有很大的幫助.而且我編的第1個(gè)程序就是象棋程序.
在80年代初,國(guó)家公布了漢字編碼方案.當(dāng)時(shí)我沒(méi)料到網(wǎng)絡(luò)能普及到今天的地步.
當(dāng)時(shí)想如果兩地棋手下棋可能通過(guò)衛(wèi)星等無(wú)線傳送棋譜數(shù)據(jù),如果用ASCII或漢字傳送棋譜時(shí).
傳送的數(shù)據(jù)要大些且不能反映棋譜的動(dòng)態(tài)性,故想像能否進(jìn)行對(duì)中國(guó)象棋的數(shù)字編碼來(lái)解決.
當(dāng)時(shí)有人做過(guò)類(lèi)似國(guó)際象棋立體形狀的中國(guó)象棋.
由于中國(guó)象棋是很早發(fā)明的,列從右起始1~9,行為1~10.下盲棋時(shí)一般認(rèn)為行從0~9.
棋子共有車(chē),馬,相(象),仕(士),帥(將),兵(卒),炮等7個(gè)兵種.
行棋有平,前(進(jìn)) ,后(退)等3類(lèi).
這樣正好滿足了數(shù)字的0~9.真是老天有眼呀---祖宗有靈氣,發(fā)明的如此"精密".
如果用棋子名在列線的位置號(hào)做為棋子號(hào)的話,就會(huì)產(chǎn)生以下編碼:
1-車(chē) 2-馬 3-相(象) 4-仕(士) 5-帥(將) 7-兵(卒) 8-炮
那么就剩下數(shù)字0,6,9了....
天哪!!!那個(gè)6上的"小尖尖"不是向上指的嗎???不就是前或進(jìn)的意思嗎???
同例9下的"小尖尖"不是向下指的嗎???不就是后或退的意思嗎???
留下的0不說(shuō)也知道了---那是不進(jìn)不退只有橫著走了,難道不就是"平"嗎???
哈哈~~~原來(lái)什么事情分析出來(lái)后就是如此的簡(jiǎn)單,明了~~~
“中國(guó)象棋數(shù)字編碼方案”就被我?guī)紫碌顾厮季S出來(lái)了:
1-車(chē) 2-馬 3-相(象) 4-仕(士) 5-帥(將) 7-兵(卒) 8-炮
0-平 6-前(進(jìn)) 9-后(退)
棋譜舉例:
1.炮二平五 馬8進(jìn)7 1. 8205 2867
2.馬二進(jìn)三 車(chē)9平8 2. 2263 1908
。。。。。。。。。。。。。。。。。。。
11.前兵進(jìn)一 后炮退3 11. 6761 9893
12.前車(chē)平三 后卒平4 12. 6103 9704
。。。。。。。。。。。。。。。。。。。
即炮二平五表示炮(8)二(2)平(0)五(5) 對(duì)應(yīng)的數(shù)字編碼:8205.
倒塌了,原來(lái)思維就是如此的簡(jiǎn)單~~~
菜農(nóng)HotPower@126.com
|
評(píng)分
-
查看全部評(píng)分
|