30天自制操作系统吧 关注:1,381贴子:4,825
  • 2回复贴,共1

将来想把象棋的程序也组入到铁娃娃OS里。

只看楼主收藏回复

以前在学校里,玩过中国象棋的游戏。虽然那时的象棋程序的智慧度不是很高,
但也能轻而易举地,“剃光”我的棋子。感到AI的神秘。
|
后来在书店里看到一本书,马上买下来。
|

书名我翻成《电脑将棋中的数学思考》。书名中的片假名一般词典还查不到,是
用一位古代阿拉伯数学家的名字衍伸出来的名词。
它是介绍日本的“将棋”,将棋与中国象棋近似。我不太懂,里面有些规则是被吃
掉的棋子,还能复活。当时有一位朝鲜(平壤)学生,自己也编了一个将棋对战
程序,参加在日本的竞赛,好像还获得第3名(?)。
这本书比较详细地讲了“将棋”对战程序的基本运算原理及思路。
后来,我搭了一个中国象棋的程序基本框架。开局的棋子摆放,車馬炮象士将
兵的行动规则。
如图:

图中,人用鼠标操作棋子走动。属于最基本的按规则走棋,不胡来,不悔棋。
智商=0,有点象以前的日本人。但若是不注意,会被吃得精光。
想将来有空再好好阅读上面那本书,把它移植到铁娃娃中去。
0216.


IP属地:上海1楼2025-02-16 16:40回复
    新设 App chess.c,先搭好了象棋棋盘,棋子由鼠标操作拖动。
    棋盘的画面简陋,不讲究。
    关键是里面的程序的“算法”。对将棋书名应该翻成《电脑将棋中的算法》比较好。
    以后有时间,再学习中国象棋的算法。

    0223.


    IP属地:上海2楼2025-02-23 17:55
    回复

      基本搭好了"人机对战象棋程序"的大架构。
      红棋由人用鼠标操作,操作要符合象棋行走的规则,否则棋子自动回到原处。吃掉蓝将即
      红方Win。
      蓝旗由电脑程序控制,操作也自然要符合象棋行走的规则,已具有要吃掉红帅的自主意志。
      左面的命令行窗口里,显示的是后台与棋盘对应的棋局数组。红蓝双方各有16个7种棋子。
      用数字表示,蓝棋用负数数字。现在显示时我把负号去掉。想想中国象棋红蓝双方的厮杀,
      实际上就是这个小小的数组里,几个数字在博弈。
      |
      现在蓝棋还谈不上智商,只是程序的大架子搭好,可以操作了。以后要慢慢植入智慧。
      0302.


      IP属地:上海3楼2025-03-02 21:02
      回复