文档详情

《面向对象程序设计》实验级.doc

发布:2017-11-01约1.73万字共20页下载文档
文本预览下载声明
《面向对象程序设计》实践设计报告 姓名:李香智 系别:信息工程系 班别学号:0951210215 设计时间:2011.1.29-2011.1.7日 应用程序的名称:参选题目35B——猜数字游戏程序。 应用程序的主题、设计目的:加强算法的准确性,巩固学过的面向对象设计知识。 应用程序的介绍:本程序是以VC++6.0的MFC为编译环境设计的。VC比较适合制作游戏,应为他的运行速度快,不会产生过大的余赘。而VC++6.0的MFC是一个极好的应用程序框架,程序员可以在不做任何操作的情况下获得大量的代码,以及MFC生成的框架、封装的函数。本猜数字游戏程序是由基本的MFC的控件、框架、封装函数等构成,内容将在下面介绍。 应用程序的总体设计构造: 如下图所示: 这幅图为ID为IDD_MY2010_12_28_2_DIALOG的一个资源控件,上面有一幅插图、两个可见文本编辑框、三个按钮以及若干个不可见的只读文本编辑框和静态文本编辑框组成。又上面的按钮标题可以得知其相应的用途。 下图为连接编译后的图像: 可以看到,不可见的文本编辑框是不显示出来的,而静态的文本编辑框只显示其标题。那两个灰色的按钮是被禁用的,在点击开始游戏之后才会被激活。 左边的可写文本编辑框是输入你要猜的数字,在输入4个数字以后按确定键,电脑就会给你判断出是否有正确的数字,以及位子正确的数字,这些判断的结果会在A或B前显示。A为位置正确数字也正确的数的个数,B为位置不正确而存在几个正确的数的个数。 右边的文本编辑框是一个计数器,虽然在事后知道这个并不一定要开线程,但是还是保留,没有用定时器。这个计时器会计算你获胜说用的时间。 在这之后就是这个游戏的玩法,这个会在最后面介绍。 主要代码为: // 2010_12_28_2Dlg.cpp : implementation file// #include stdafx.h #include 2010_12_28_2.h #include 2010_12_28_2Dlg.h #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CAboutDlg dialog used for App About int online=0; int kaiguan=1; int suiji; int A=0; int B=0; CString EditText; CString EditA; CString EditB; CString EditTextAK; int TIME=0; CString CTIME; int w; int a[4]={0}; int b[4]={0}; int Sum=0; CTime time_1,time_2; CTimeSpan time_3; class CAboutDlg : public CDialog { public: CAboutDlg(); // Dialog Data //{{AFX_DATA(CAboutDlg) enum { IDD = IDD_ABOUTBOX }; //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CAboutDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: //{{AFX_MSG(CAboutDlg) //}}AFX_MSG DECLARE_MESSAGE_MAP() }; CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD) { //{{AFX_DATA_INIT(CAboutDlg) //}}AFX_DATA_INIT } void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CAboutDlg) //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
显示全部
相似文档