2023年面向对象程序设计实验级.doc
《2023年面向对象程序设计实验级.doc》由会员分享,可在线阅读,更多相关《2023年面向对象程序设计实验级.doc(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象程序设计实践设计报告姓名:李香智系别:信息工程系班别:09512102学号:设计时间:2023.1.29-2023.1.7日应用程序的名称:参选题目35B猜数字游戏程序。应用程序的主题、设计目的:加强算法的准确性,巩固学过的面向对象设计知识。应用程序的介绍:本程序是以VC+6.0的MFC为编译环境设计的。VC比较适合制作游戏,应为他的运营速度快,不会产生过大的余赘。而VC+6.0的MFC是一个极好的应用程序框架,程序员可以在不做任何操作的情况下获得大量的代码,以及MFC生成的框架、封装的函数。本猜数字游戏程序是由基本的MFC的控件、框架、封装函数等构成,内容将在下面介绍。应用程序的总体
2、设计构造:如下图所示:这幅图为ID为IDD_MY2023_12_28_2_DIALOG的一个资源控件,上面有一幅插图、两个可见文本编辑框、三个按钮以及若干个不可见的只读文本编辑框和静态文本编辑框组成。又上面的按钮标题可以得知其相应的用途。下图为连接编译后的图像:可以看到,不可见的文本编辑框是不显示出来的,而静态的文本编辑框只显示其标题。那两个灰色的按钮是被禁用的,在点击开始游戏之后才会被激活。左边的可写文本编辑框是输入你要猜的数字,在输入4个数字以后按拟定键,电脑就会给你判断出是否有对的的数字,以及位子对的的数字,这些判断的结果会在A或B前显示。A为位置对的数字也对的的数的个数,B为位置不对的
3、而存在几个对的的数的个数。右边的文本编辑框是一个计数器,虽然在事后知道这个并不一定要开线程,但是还是保存,没有用定期器。这个计时器会计算你获胜说用的时间。在这之后就是这个游戏的玩法,这个会在最后面介绍。重要代码为:/ 2023_12_28_2Dlg.cpp : implementation file/#include stdafx.h#include 2023_12_28_2.h#include 2023_12_28_2Dlg.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#e
4、ndif/ CAboutDlg dialog used for App Aboutint 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 a4=0;int b4=0;int Sum=0;CTime time_1,time_2;CTimeSpan time_3;class CAboutDlg : public CDialogpublic:CAboutD
5、lg();/ 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/ Implementationprotected:/AFX_MSG(CAboutDlg)/AFX_MSGDECLARE_MESSAG
6、E_MAP();CAboutDlg:CAboutDlg() : CDialog(CAboutDlg:IDD)/AFX_DATA_INIT(CAboutDlg)/AFX_DATA_INITvoid CAboutDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CAboutDlg)/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CAboutDlg, CDialog)/AFX_MSG_MAP(CAboutDlg)/ No message handlers/AFX_MSG_MAP
7、END_MESSAGE_MAP()/ CMy2023_12_28_2Dlg dialogCMy2023_12_28_2Dlg:CMy2023_12_28_2Dlg(CWnd* pParent /*=NULL*/): CDialog(CMy2023_12_28_2Dlg:IDD, pParent)/AFX_DATA_INIT(CMy2023_12_28_2Dlg)/AFX_DATA_INIT/ Note that LoadIcon does not require a subsequent DestroyIcon in Win32m_hIcon = AfxGetApp()-LoadIcon(ID
8、R_MAINFRAME);void CMy2023_12_28_2Dlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CMy2023_12_28_2Dlg)DDX_Control(pDX, IDC_EDIT1, m_Time);DDX_Control(pDX, IDC_BUTTON_OK, m_Button_OK);DDX_Control(pDX, IDC_BUTTON_NO, m_Button_NO);DDX_Control(pDX, IDC_EDIT_AS, m_AS);DDX_Co
9、ntrol(pDX, IDC_EDIT_TURN_9, m_TURN_9);DDX_Control(pDX, IDC_EDIT_TURN_7, m_TURN_7);DDX_Control(pDX, IDC_EDIT_TURN_8, m_TURN_8);DDX_Control(pDX, IDC_EDIT_TURN_6, m_TURN_6);DDX_Control(pDX, IDC_EDIT_TURN_5, m_TURN_5);DDX_Control(pDX, IDC_EDIT_TURN_4, m_TURN_4);DDX_Control(pDX, IDC_EDIT_TURN_3, m_TURN_3
10、);DDX_Control(pDX, IDC_EDIT_TURN_2, m_TURN_2);DDX_Control(pDX, IDC_EDIT_TURN_1, m_TURN_1);DDX_Control(pDX, IDC_EDIT_PUT_9, m_PUT_9);DDX_Control(pDX, IDC_EDIT_PUT_8, m_PUT_8);DDX_Control(pDX, IDC_EDIT_PUT_7, m_PUT_7);DDX_Control(pDX, IDC_EDIT_PUT_6, m_PUT_6);DDX_Control(pDX, IDC_EDIT_PUT_5, m_PUT_5);
11、DDX_Control(pDX, IDC_EDIT_PUT_4, m_PUT_4);DDX_Control(pDX, IDC_EDIT_PUT_3, m_PUT_3);DDX_Control(pDX, IDC_EDIT_PUT_2, m_PUT_2);DDX_Control(pDX, IDC_EDIT_PUT_1, m_PUT_1);DDX_Control(pDX, IDC_EDIT_FT_9, m_FT_9);DDX_Control(pDX, IDC_EDIT_FT_8, m_FT_8);DDX_Control(pDX, IDC_EDIT_FT_7, m_FT_7);DDX_Control(
12、pDX, IDC_EDIT_FT_6, m_FT_6);DDX_Control(pDX, IDC_EDIT_FT_5, m_FT_5);DDX_Control(pDX, IDC_EDIT_FT_4, m_FT_4);DDX_Control(pDX, IDC_EDIT_FT_3, m_FT_3);DDX_Control(pDX, IDC_EDIT_FT_2, m_FT_2);DDX_Control(pDX, IDC_EDIT_FT_1, m_FT_1);/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CMy2023_12_28_2Dlg, CDialog)/AFX_MSG_MAP(
13、CMy2023_12_28_2Dlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_BUTTON_OK, OnButtonOk)ON_COMMAND(IDM_START, OnStart)ON_BN_CLICKED(IDC_BUTTON_NO, OnButtonNo)ON_COMMAND(IDM_PAIHANG, OnPaihang)ON_BN_CLICKED(IDC_BUTTON_START1, OnButtonStart1)ON_EN_CHANGE(IDC_EDIT1, OnChangeEdit1
14、)/AFX_MSG_MAPEND_MESSAGE_MAP()/ CMy2023_12_28_2Dlg message handlersBOOL CMy2023_12_28_2Dlg:OnInitDialog()CDialog:OnInitDialog();/ Add About. menu item to system menu./ IDM_ABOUTBOX must be in the system command range.ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX AppendMenu(MF_SEP
15、ARATOR);pSysMenu-AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);LOGFONT logfont; CFont *pfont =m_Time.GetFont(); pfont- GetLogFont( &logfont ); logfont.lfHeight=logfont.lfHeight * 2; logfont.lfWidth =logfont.lfWidth * 2; CFont font; font.CreateFontIndirect(&logfont); m_Time.SetFont(&font); / Set
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 面向 对象 程序设计 实验
限制150内