中国象棋人机对弈(易语言2005年大赛二等奖)
系统结构:合法走法,判断棋子颜色,判断两个棋子是否同色,棋盘赋值,初始化棋盘,对应位图1,移动棋子,插入走法,产生可能的走法,棋局是否结束,产生将的走法,产生红士的走法,产生黑士的走法,产生车的走法,产生马的走法,产生炮的走法,产生象的走法,产生红兵的走法,产生黑兵的走法,估值函数,所有相关位置,能否走到位置,插入相关位置,负极大值搜索函数,要进行的走法,要恢复的走法,一步最佳走法,清空棋子,alphabeta搜索函数,选中棋子,对应位图2,行棋步骤,初始化数据,
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ _画板游戏区_鼠标左键被按下
| |
| |------ 合法走法
| |
| |------ _开局_被单击
| |
| |------ 判断棋子颜色
| |
| |------ 判断两个棋子是否同色
| |
| |------ 棋盘赋值
| |
| |------ 初始化棋盘
| |
| |------ 对应位图1
| |
| |------ 移动棋子
| |
| |------ 插入走法
| |
| |------ 产生可能的走法
| |
| |------ 棋局是否结束
| |
| |------ 产生将的走法
| |
| |------ 产生红士的走法
| |
| |------ 产生黑士的走法
| |
| |------ 产生车的走法
| |
| |------ 产生马的走法
| |
| |------ 产生炮的走法
| |
| |------ 产生象的走法
| |
| |------ 产生红兵的走法
| |
| |------ 产生黑兵的走法
| |
| |------ 估值函数
| |
| |------ 所有相关位置
| |
| |------ 能否走到位置
| |
| |------ 插入相关位置
| |
| |------ 负极大值搜索函数
| |
| |------ 要进行的走法
| |
| |------ 要恢复的走法
| |
| |------ 一步最佳走法
| |
| |------ _保存棋局_被单击
| |
| |------ _读取棋局_被单击
| |
| |------ 清空棋子
| |
| |------ alphabeta搜索函数
| |
| |------ 选中棋子
| |
| |------ 对应位图2
| |
| |------ _退出_被单击
| |
| |------ _关于_被单击
| |
| |------ 行棋步骤
| |
| |
======窗口程序集2
| |
| |------ _关于_创建完毕
| |
| |
======着法
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |
======象棋位置
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |
======位棋盘
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |
======象棋
| |
| |------ 初始化数据