五子棋等级考试软件的开发(二)

本篇继续上篇的未完部分。上篇介绍了软件的背景,本篇主要介绍软件的设计,包括设计思路、界面设计、逻辑设计等。

2. 软件设计

(1)设计思路

本文所述软件是用于水平等级评估的,既然是评估用的,那么神经网络模型就得是标准化的,如果找不到模型的话,是不能也不允许从空模型开始创建和初始化神经网络的,而且神经网络在使用过程中不能进行自学习和进化。同时,加载不了模型的话,其它的任何操作也是不能允许的。

另外,要想开始评测,先得进行用户登录,即对登录的用户进行评测。因此,登录操作将不能如前几篇文章中所示那样固定写在代码中,需要提供相应的界面来支持运行时登录,相应的,还要提供新用户注册的途径。

再者,还需要提供评估等级的选择方式,而且为了降低偶然性因素的影响,一次评估不止对弈一局,因此需要提示总共要对弈几局、已经对弈几局以及到目前为止的评估状况(胜率)等信息。对应的,也需要提供途径将评估结果告知用户。若是还需要颁发证书的话,还得提供途径将评估结果生成证书并打印进入后续流程。

(2)界面设计

如前几篇文章中所介绍的一般创建MFC对话框项目,删除对话框上的控件,然后从工具箱中拖一个Picture Control控件到对话框上用于绘制棋盘和棋子,修改其ID为IDC_BOARD;拖一个按钮到对话框上用于开始评测,修改其ID为IDC_BTN_START,修改其Caption为“开始评测”;再拖一个按钮到对话框上用于开始新局,修改其ID为IDC_BTN_NEW,修改其Caption为“开始新游戏”;拖6个Static Text控件到对话框上,依次修改其ID为IDC_LB_LEVEL、IDC_LB_NUM_TOTAL、IDC_LB_NUM_LEFT、IDC_LB_RATIO、IDC_LB_DEPTH、IDC_LB_CONCERN,依次修改其Caption为“评估等级:”、“评估局数:”、“剩余局数:”、“胜率:”、“思维深度:”、“专注度:”;从工具箱拖一个Combo Box控件到对话框上用于选择评估等级,修改其ID为IDC_LEVEL;最后拖5个Static Text控件到对话框上用于显示评估局数、剩余局数、胜率、思维深度、专注度,依次修改其ID为IDC_NUM_TOTAL、IDC_NUM_LEFT、IDC_RATIO、IDC_DEPTH、IDC_CONCERN,调整各控件的位置和大小,如下图所示:

  在资源视图中找到“test-->test.rc-->Dialog”,右击之并在右键菜单中选择“插入Dialog”,新插入一个对话框,如下图所示:

 修改对话框的Caption为“登录”,将“确定”按钮的Caption改为“登录”,将“取消”按钮的Caption改为“取消”,从工具箱中拖一个按钮放于两按钮中间,修改其ID为IDC_BTN_REGIST,修改其Caption为“注册”;从工具箱拖两个Static Text控件到对话框上,修改其ID为IDC_LB_USER、IDC_LB_PASSWORD,修改其Caption为“用户名:”、“密码:”;从工具箱拖两个Edit Control控件到对话框上用于输入用户名和密码,修改其ID为IDC_USER、IDC_PASSWORD,调整各控件的位置和大小、对话框大小,如下图所示:

 对于该登录对话框,修改密码输入框IDC_PASSWORD的属性Password为True,表示该对话框用于输入密码,不显示明文,如下图所示:

 最后,右击对话框,在右键菜单中选择“添加类”,填写类名CLogin,并点击完成,如下图所示:

 (3)逻辑设计

神经网络初始化:在对话框初始化时加载确定性神经网络模型,加载失败的话弹出提示信息并退出软件。

正常打开软件之后,“开始评测”按钮是启用的,但是“开始新游戏”按钮是禁用的,只有开始评测之后才能通过“开始新游戏”来放弃当前局而直接新开下一局。注:点击“开始评测”后已准备好对局,不必点击“开始新游戏”来启动第一句,“开始新游戏”更像是“下一局”。

开始评测:点击“开始评测”按钮之后,先判断用户是否已经登录,若未登录,则弹出登录框进行登录。在用户已登录的情形下点击该按钮时,将重新开始评测,这意味着评估局数、剩余局数等信息将被重置。该按钮在初始时是启用状态,点击后变为禁用状态以免误操作中断当前评测,在切换评估等级之后会重新变为启用状态以便在新的等级上重新开始评测。

开始新游戏:结束当前一局来开启下一句,不论当前局是否已经结束。初始时为禁用状态,在点击“开始评测”后变为启用状态,在切换评估等级后又会变为禁用状态,即“开始评测”启用时“开始新游戏禁用”,“开始评测”禁用时“开始新游戏”启用。另外,当评测用的所有局均结束,即评测完成之后,该按钮将变为禁用状态,同时启用“开始评测”。

评估等级:初始化时添加一级至十级供选择,随时可切换,但评测过程中切换的话会给出提示,在用于确认修改后将放弃当前等级的评估并准备评估新的等级。初始化时默认选择的是一级。

评估局数、剩余局数、胜率:目前暂定一次评测10局,该值可根据实际情况和要求由评测机构设定。若已经对弈结束2局,则剩余局数为8。胜率部分显示“当前胜利局数/总局数”,若已获胜1局,则胜率为“1/10”。

思维深度、专注度:在一次完整的评测完成之后,计算出思维深度和专注度显示在此处,评测完成之前该处显示为空白。该值的计算公式有待学术研究,目前仅给出粗略的信息供大家参考。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇

)">
下一篇>>