1.6 游戏的实现其具体的函数 1.6.1 游戏实现后的主要界面 paper51.com 完成了以上4大节工作之后,一个简单的24点游戏程序就基本生成了。接着就是在程序上做简单的修改,查漏补缺。通过游戏的连接,编译并运行。运行没有出错,程序就运行如下。 内容来自论文无忧网 www.paper51.com 从界面中我们看到了其中的主要功能都具备了。有相应的表达式输入功能,查看结果功能,显示正确答案功能,重新发牌,牌面设置以及定时控制。在菜单中有文件和帮助两个主菜单。其中文件菜单中有开始和结束控制。 paper51.com
如下分细节对系统实现进行分析,首先我们来看下按下设置牌面产生的效果。 内容来自论文无忧网 www.paper51.com 我们看到,在按下了设置牌面的时候,弹出一个牌面设置的窗口。在请输入牌面的输入框中默认了牌面数字全为1,当然我么可以将其改写,比如我们改为3 4 3 5 并按下确定,则弹出如下窗口。 paper51.com
我们可以看到按照如上的要求我们实现了牌面的自定义功能。接着我们来看看表达式输时产生的一些错误信息提示,包括语法错误,括号匹配,数字匹配等。我在如下一一都显示出来。 paper51.com copyright paper51.com 其中的3个错误我们可以清楚的看到,当我们看到在第一个窗口中输入了与纸牌数字不正确的数字之后,提示了“请注意输入的数值是否正确”。在第二个窗口中输入了左括号后直接点击“单机查看结果”键时弹出“括号不匹配”的错误提示。在第三个窗口中输入“方法”俩汉字的时候,我们看到了“输入语法错误”的提示。以上我将所有的错误信息都做了很好的图文说明。 内容来自论文无忧网 www.paper51.com 以下是输入正确表达式,并得出24点算法后的界面显示。我们在牌面设置的时候输入5 5 5 1 4个数字的时候,显示正确结果的截面如下。 paper51.com
如上我们看到界面中弹出了“计算正确”的消息框,实现了24点游戏表达式的最后判别。 内容来自www.paper51.com 1.6.2 24点算法的程序实现 http://www.paper51.com //计算24点的答案程序 内容来自www.paper51.com BOOL Calc24(int iNum1, int iNum2, int iNum3,int iNum4, CString& strResult) // 内容来自论文无忧网 www.paper51.com { //括号的几种情况 paper51.com //无括号 copyright paper51.com //2 (a b) c d同a b (c d), 下省略 内容来自论文无忧网 www.paper51.com //3 (a b c) d paper51.com
//4 a (b c)d copyright paper51.com //5 (a b) (c d) 内容来自论文无忧网 www.paper51.com //6 ((a b) c) d http://www.paper51.com //7 (a (b c)) d paper51.com int iNumArr[4];//定义一维数组 用于存放输入的数值 http://www.paper51.com
iNumArr[0] = iNum1; 内容来自论文无忧网 www.paper51.com
iNumArr[1] = iNum2; 内容来自论文无忧网 www.paper51.com NumArr[2] = iNum3; paper51.com iNumArr[3] = iNum4; http://www.paper51.com
if (CalcArray1(iNumArr, strResult))//调用CalcArray1函数判断其是否能算出24 内容来自论文无忧网 www.paper51.com
{ 内容来自论文无忧网 www.paper51.com
return TRUE; paper51.com
} http://www.paper51.com if (CalcArray2(iNumArr, strResult)) //调用CalcArray2函数判断其是否能算出24 内容来自论文无忧网 www.paper51.com { paper51.com return TRUE; 内容来自论文无忧网 www.paper51.com } copyright paper51.com if (CalcArray3(iNumArr, strResult)) 调用CalcArray3函数判断其是否能算出24 paper51.com { 内容来自论文无忧网 www.paper51.com return TRUE; paper51.com } copyright paper51.com if (CalcArray4iNumArr, strResult)) 调用CalcArray4函数判断其是否能算出 http://www.paper51.com
{ copyright paper51.com |