/鼠标在 Paintbox1 点中坐标 MouseRow,MouseColumn:integer; //鼠标在 paintbox2 点中的坐标 MouseR2,MouseC2:integer; //定义到谁走棋 WhoPlay:string; //定义先手方 FirstPlay:string; GameMode:integer; //定义游戏模式 1:人人对弈 2:人机对弈 3:自定义棋局 模式 //拾起棋子为哪一方 mPWhoPlay:string; //判定是否移动棋子 IsMove:boolean; //胜利 Win : boolean; //走棋步数 MCSteep:integer; //总的走法数 mMoveCount:integer; //相关位置点的总数 mPosCount:integer; 1 为红方,0 为黑方 4:思考
//调用估值函数的次数 useEveluateCount:integer; //搜索的最大深度 mMaxDepth:integer; //Memo1 当前加上的最后一行 MemoMaxLine:integer; type //自定义记录类型 用来记录走棋记录 ChessRecord=record ChessBoard:array[1..10,1..9]of integer; Win:boolean; WhoPlay:string; end; var History:array[0..300]of ChessRecord; type HaveNum=record Number:integer; end; var ChessHaveNum:array[1..14]of HaveNum; //自定义棋盘是摆起盒子里面剩余的棋子数 type Point=record row:integer; column:integer; end; var RelatePos:array[1..20]of Point; type MoveList=record //走法
列表 FormR:integer; FormC:integer; ToR:integer; ToC:integer; end; var nMoveList:array[0..10,1..100]of MoveList; nBestMove:MoveList;//最佳走法 implementation
//与一个棋子相关的位置