24点游戏开发课程设计_第1页
24点游戏开发课程设计_第2页
24点游戏开发课程设计_第3页
24点游戏开发课程设计_第4页
24点游戏开发课程设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1/191/19監燧M學院 C++课程设计报告24点游戏软件的开发 专 业 计算机科学与技术 TOC\o"1-5"\h\z学 生 班 级 学 号 指导教师 完成日期 wordword2/192/19wordword目1概述11.1课程设计目的1.2课程设计容2系统需求分析2.1系统目标I2.2主体功能12.3开发环境23系统概要设计23.1系统功能模块划分3.2系统流程图34系统详细设计L4.1设计步骤44.2界面设计44.3关键功能的实现5测试6 5.1测试方案65.2测试结果6附录10附录1源程序清单0

24点游戏软件的开发1概述1.1课程设计目的 a、 巩固并加深学生对C++语言程序设计知识的理解; b、 培养学生面向对象的程序设计思想,使学生认识面向过程和面向对象两种设计方法的区别; c、 进一步掌握和应用VC++6.0集成开发环境;d、 提高运用C++语言解决实际问题的能力; e、 初步掌握开发小型实用软件的根本方法,能独立设计、实现根本的MIS系统; f、 掌握书写程序设计开发文档的能力〔书写课程设计实验报告〕1.2课程设计容课题名称:24点游戏软件的开发说明:24点游戏是一种常见的纸牌游戏说明要求:a〕实现随机发牌;b〕能进展结果验算;c〕计分;d〕难度设置。 2系统需求分析系统目标 24点游戏是个流行的数学运算游戏。本次课程设计通过24点游戏来加深我们 对对话框编程的认识和理解,并介绍VisualC++在数学计算方面的应用,以与在按钮上设置位图和设置计时器的方法。24点扑克游戏的规如此是:由系统发出4扑克牌,要求用户利用扑克牌上显示 的数字JQKA算10〕,通过加减乘除运算得出24。主体功能对游戏设计三个难易级别,分别为低级、中級和高級。每次开始游戏前可以根据玩家的需要进展难度设置,如假如不设置,系统默认难度级别为中级,设置完难度级别之后就可以开始游戏了,单击“发牌〃按钮,桌面上出现四翻开的扑克牌,与此同时,游戏开始计时,进度条开始前进。在规定的时间,玩家可以在“输入算式〃的编辑框中输入自己想好的算式,然后点击“验算〃按钮:如果输入的算式经运算后所的答案正确,如此会在编辑框中显示“正确!〃;如果输入的数字与给出的牌的数字不符或者符号不合法,如此会弹出“部错误!〃的窗口;如果输入的数字与四牌相符、字符亦合法但是答案不正确,如此会在编辑框中显示“错误〃;如果未输入任何的数字和算符,如此会弹出“部错误!〃的窗口。如果在规定的时间,玩家没有点击验算按钮,如此会弹出“部错误〃的窗口。在完毕本轮游戏后,如果玩家想继续游戏,如此可点击“发牌〃按钮即可重新发牌,开始下一轮的游戏;如果玩家想完毕游戏,如此可点击“完毕〃按钮即可完毕游戏。2.3开发环境3系统概要设计3.1系统功能模块划分建立一个随机产生扑克牌的模块。由程序随机产生4扑克牌,每牌对应一个整数。计时的模块。定义一个计时器,以便对使用时间进展计数。计算表达式的模块。主要是通过函数来确定运算式各符号优先級和最终计算出输入算式的结果。验算表达式正误的模块。在规定的时间输入算式进展验算,根据不同的情况会出现不同的对话框。wordword/19wordm_pattern4=169+m_number4;m_input.SetReadOnly(TRUE);if(m_pattern4>172)m_pattern4+=7;UpdateData(FALSE);Invalidate(FALSE);SetTimer(1,Step,NULL);CWnd*pWnd=GetDlgItem(IDC_CALC);pWnd->EnableWindow(TRUE);pWnd=GetDlgItem(IDC_INPUT);pWnd->EnableWindow(TRUE);}〃输入计算式voidCPoint24Dlg::OnInput(){//TODO:Addyourcontrolnotificationhandlercodeherem_input.SetReadOnly(FALSE);KillTimer(TRUE);}//计算voidCPoint24Dlg::OnCalc(){//TODO:AddyourcontrolnotificationhandlercodehereUpdateData(TRUE);intresult=m_expression.ChangeExpression(m_inputs);if(result<0){longresult=m_expression.Value(m_Result);if(result==DIVISION_BY_0)AfxMessageBox(”除数不能为零!”);}else{AfxMessageBox(_T("部错误!”));}m_inputs.Empty();if(m_Result=24){m_inputs="正确!”;m_score+=m_factor;CStringstr;str.Format("%d",m_score);SetDlgItemText(IDC_CUR_SCORE,str);}elsem_inputs="错误!”;chars;count+=1;wsprintf(&s,"%d",count);lvItem.iItem=count-1;wordIvItem.iSubItem=0;IvItem.pszText=&s;m_list.InsertItem(&lvItem);m_list.SetItemText(count-1,1,m_inputs);UpdateData(FALSE);m_inputs=_T("");//FirstResult=SecondResult=0;//flag='a';KillTimer(TRUE);m_bo.EnableWindow(TRUE);CWnd*pWnd=GetDlgItem(IDC_CALC);pWnd->EnableWindow(FALSE);pWnd=GetDlgItem(IDC_INPUT);pWnd->EnableWindow(FALSE);}〃选择组合框选项voidCPoint24Dlg::OnSelchangebo(){//TODO:Addyourcontrolnotificationhandlercodehereinti=m_bo.GetCurSel();if(i=0){Step=600;m_factor=2;}if(i=1){Step=500;m_factor=4;}if(i=2){Step=400;m_factor=6;}}〃计时器处理函数voidCPoint24Dlg::OnTimer(UINTnIDEvent){//TODO:Addyourmessagehandlercodehereand/orcalldefaultm_progress.StepIt();if(m_progress.GetPos()>=100){KillTimer(1);m_inputs=_T("超时!”);OnCalc();}el

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论