以下依模式设计,完成的中国象棋的设计草稿(一)
整个对局程序由主控类TChessPlayCtrl控制。首先初始化棋局的初态,包括棋局初态(ChessState)、两个棋手(CPlayer)、棋手之间传递的消息(Mesg),然后进入主控程序,决定首先走棋方THEPLAYER:
重复:
由指定棋手走棋,返回系统消息;
switch {
消息为 ‘正常走步’:由ChessState执行走步,交换走棋方
消息为‘认输’:...,棋局结束
消息为‘超时’:...,棋局结束
消息为‘请求悔棋’:...
棋局结束吗?
}
直到棋局结束。
关于走棋,可以有三种方式:
其一,人工智能程序给出(CGSTEP_BY_AI)
其二,由用户通过界面输入(CGSTEP_BY_USER)
其三,由棋谱数据库查询得到(CGSTEP_BY_CHESSPU)