2023年面向对象程序设计实验级.pdf
《2023年面向对象程序设计实验级.pdf》由会员分享,可在线阅读,更多相关《2023年面向对象程序设计实验级.pdf(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 面向对象程序设计实践设计报告姓名:李香智系别:信息工程系班别:0 9 5 1 2 1 0 2学号:设计时间:2 0 2 3.1.2 9-2 0 2 3.1.7日。应用程序的名称:参选题目35B一猜数字游戏程序。应用程序的主题、设计目的:加强算法的准确性,巩固学过的面向对象设计知识。应用程序的介绍:本程序是以V C+6.0的MFC为编译环境设计的。V C比较适合制作游戏,应为他的运营速度快,不会产生过大的余赘。而V C +6.0的M F C是一个极好的应用程序框架,程序员可以在不做任何操作的情况下获得大量的代码,以及M F C生成的框架、封装的函数。本猜数字游戏程序是由基本的M F C的控件、
2、框架、封装函数等构成,内容将在下面介绍。应用程序的总体设计构造:。如下图所示:恋筠市说妙而苦猫数字I编辑 开 始 游 戏I编辑游戏1编辑编辑A编辑B2编辑编辑A编辑B3编辑编辑A编辑B4编辑编辑A编辑B5编辑编辑A编辑B6编辑编辑A编辑B7编辑编辑A编辑B8编辑编辑A编辑B9编辑弱辑A编辑B这幅图为I D为I D D _ M Y 2 0 23_ 12_ 2 8_ 2_ D I A L O G的一个资源控件,上面有一幅插图、两个可见文本编辑框、三个按钮以及若干个不可见的只读文本编辑框和静态文本编辑框组成。又上面的按钮标题可以得知其相应的用途。下 图 为 连 接 编 译 后 的 图 像:游 戏 帮
3、 助猫数字确定清除I开始游戏|游戏AB1B2AB3B4B5B6B7B8BA9可以看到,不可见的文本编辑框是不显示出来的,而静态的文本编辑框只显示其标题。那两个灰色的按钮是被禁用的,在点击开始游戏之后才会被激活。左边的可写文本编辑框是输入你要猜的数字,在输入4个数字以后按拟定键,电脑就会给你判断出是否有对的的数字,以及位子对的的数字,这些判断的结果会在A或B前显示 为位置对的数字也对的的数的个数,B为位置不对的而存在几个对的的数的个数。右边的文本编辑框是一个计数器,虽然在事后知道这个并不一定要开线程,但是还是保存,没有用定期器。这个计时器会计算你获胜说用的时间。在这之后就是这个游戏的玩法,这个会
4、在最后面介绍。重要代码为:/20 2 3_ 12_ 2 8_2 D i g.c p p :i m p 1 e m e n t a t i o n f i 1 e /#i n c l u d e s t d a f x.h ”in c l ud e 2 023_ 12_ 2 8_ 2.hin c l ud e 2 0 2 3 _ 1 2 _ 2 8_ 2Dl g.h,z#if d ef _ D E B U G#d efi n e n e w D EB UG_ NEW#u n d e f TH I S _ F I L Es t at ic c har T H I S _ F I L E 口 =_F
5、 I L E _;#en d i fI I I /I I III I I lli I/CA b o ut Dl g d ia 1 o g u se d fo r A p p A b o uti n t o n l in e=0;in t k aig u a n=l;i n t s ui j i;i n t A=0;i n t B=0;CSt r in g Ed i t Tex t;CSt r i n g E d it A;CSt ri ng E d it B;CS t r in g Ed i t Tex t AK;in t T I M E R;CSt r in g CTIME;in t w ;
6、i n t a4=0 ;in t b 4 =0;i n t Sum=O;CTim e t im e_ l,t i m e_ 2;CTim eS p a n t im e _ 3;c l a s s CA b o u t Dl g :p u bl ic CDia 1 o gp ubl ic:o CAbo ut D 1 g();/D i al o g D a ta./AF X _ DATA(CAbo u t D 1 g)e n u m I D D =I DD_ A B O UTB O X ;/AFX _ DATA“/Cl a s s W iz a r d g en er at ed v i r t
7、 ual f u n c t io n o v er r i d es/AFX _ VIRTUAL(CA b o ut Dl g)叩r o t ec t e d :v i r t u a 1 v o i d D o Da t a E x c han g e(C D at aEx c han g e*p DX);/DDX /DDV s up p o r t/AFX _ VIRTUAL/Im p 1 em en t at i o np r o t ec t e d:/AFX _ MSG(CAbo ut D 1 g)/AFX _ MSGo DECLARE_ ME S SAGE_ MAP();C A
8、b o ut Dl g:CAbo u t DI g ():CD i a 1 o g(CAbo ut D 1 g::IDD)(。/AF X _ DATA_ INI T(CAb o ut D 1 g)“/AFX _ DATA_ INIT)v o id C A b o u t D 1g:Do Dat aEx c h an g e(CDat aEx c han g e*p DX)(CDia 1 o g:Do D a t aEx c han g e(p DX);/AFX _ DAT A_ MAP(CAbo ut Dl g)/AFX _ DATA_ MA PB EGIN_ M E SSAG E_ M A
9、P(CAbo ut Dl g,C D i a 1 o g)/AFX _ MSG_ MAP(CAbo ut D 1 g)/No m es s ag e h a nd 1 er s/AFX _ MSG_ MAPEND_ MESSAGEJ IAP()/I l l i I /I I I/CM y 2 0 2 3 _ 12_ 28_ 2Dl g d i a l o gCMy 2 0 23_ 1 2 _ 2 8_ 2 Dig:CMy 2023_ 1 2 _ 2 8_ 2D 1 g (CWn d*p Par e n t/*=NULL*/):CDial o g(CMy 202 3 _ 12_ 2 8 _ 2
10、D 1g::I DD,p Par en t)o/AFX_DA T A _INIT(CMy20 2 3 _ 1 2 _ 2 8 _ 2 Dig)/AFX_DAT A_INIT/N o t e th a t L oadlco n d o es no t requi r e a subseq u ent Dest roy I con i n Win3 2m _hlcon=A fxGetA p p()L oa d I c on(IDR_MAI NF RAME);)vo i d CMy 2 0 23_1 2 _ 28_2 D 1 g::DoDa t aExchan g e(CDa t a Ex c ha
11、nge*pDX)(CD i a lo g::D o D a ta E x c hang e(pDX);/AFX_DATA_MAP(CM y 2023_12_2 8_2Dl g)DDX_Control(p D X,I DC_EDIT1,m _ T im e);D D X _C ont r ol(pDX,ID C _ B U T T ON_OK,m _ B u tto n _ 0 K);DDX_Con t ro 1 (p DX,IDC_BUTTON_NO,m _ B u t t o n _ N 0);D D X _C ontrol(pD X,IDC_EDIT_AS,m_AS);D D X _Con
12、trol(pD X,ID C_ED IT_TU R N _9,m _TURN_9);DD X_Cont r o 1(pDX,IDC_EDIT_TURN_7,m _TURN_7);DDX_Contro 1 (p DX,I D C_EDIT_TURN_8,m_TURN_8);DDX_Control(pDX,I DC_ED I T _ T URN_6,m _TURN_6);DDX_Cont r ol(pDX,IDCED I T _T U R N _5,m_TURN_5);DDX_Con t ro l(pDX,I DC_ED I T _ T U R N _ 4,m _T U R N _4);DDX_C
13、on t rol(pD X,I DC_ED IT_TURN_3,m _T U R N _3);DDX_Con t ro l(pDX,IDC_EDI T_TU R N _2,m_TU R N _ 2);DDX_Control(pDX,I DC_EDIT_TURN_ 1,m _TU R N _l);0D D X _ C o n tro 1 (pDX,I DC_EDIT_PUT_9,m_PUT_9);D DX _ Co n t r o 1(p DX,IDC_ EDIT_ PUT_ 8,m _ PUT_ 8);DDX _ Co n t r o Kp DX,IDC_ EDI T_ PUT_ 7,m _
14、PUT_ 7);DDX _ Co n t r o l (p DX,IDC_ EDIT_ PUT_ 6,m _ P U T _ 6);DDX _ Co n t r o l(p DX,I D C_ E D IT_ PUT_ 5,m _ PUT_ 5);DDX _ Co n t r o 1 (p DX,I DC_ EDI T _ P U T _ 4 ,m _ PUT_ 4);DDX _ Co n t r o l (p DX,I DC_ ED IT_ PUT_ 3,m _ PUT_ 3);DDX _ Co n t r o l (p DX,IDC_ E D IT_ PUT_ 2,m _ PUT_ 2);
15、DDX _ C o n t r o 1(p DX,IDC_ EDIT_ PUT_ 1,m _ PUT_ l);DDX _ Co n t r o l(p D X,I D C_ ED I T_ FT_ 9,m _ FT_ 9);DDX _ Co n t r o l (p DX,I DC_ EDIT_ FT_ 8,m _ FT_ 8);DDX _ Co n t r o l(p DX,I DC_ EDIT_ FT_ 7,m _ FT_ 7);DDX _ Co n t r o l(p DX,IDC_ EDIT_ FT_ 6,m _ FT_ 6);DDX _ Co n t r o l (p D X,IDC
16、_ ED I T_ FT_ 5,m _ FT_ 5);D D X _ Co n t r o l (p DX,IDC_ EDIT_ FT_ 4,m _ FT_ 4);DDX _ Co n t r o 1 (p DX,IDC_ ED I T_ FT_ 3,m _ FT_ 3);DDX _ Co n t r o l (p DX,I D C _ E D I T _ F T _ 2,m _ FT_ 2);DDX _ Co n t r o l(p DX,IDC_ EDI T_ FT_ 1,m _ FT_ l);/)AFX _ DATA_ MAP)B EGIN_ MESSAGE_ MAP(CMy 2 023
17、_ 1 2_ 28_ 2D1 g,CD i a 1 o g)/AFX _ MS G_ MAP(CMy 2 02 3 _ 1 2_ 2 8_ 2Dl g)N _W M_ SYSC O MMAN D()0N_ WM_ PAINT()刈 N_ W M_ QUE R Y DRAG I CO N()O N_ B N_ CLICKED(IDC_ B UTT0N_ 0K,O n B u t t o n O k )O N_ C 0 M MAND(I DM_ START,0 n St ar t)O N_ B N_ CLICKED(I D C_ B UTT0N_ N0,O n B u t t o n No)O N
18、_ CO MMAND(IDM_ PAIHAN G ,O n Paihan g )0 N _ B N _ C LICKED(IDC_ B UT T O N_ START1,0 n B ut t o n S t ar t 1)O N_ EN_ CHANGE(IDC_ E DIT1,0 n Chan g eEd i t 1)/A FX _ MS G _M A PE N D _ M E S S AGE_ MAP()IIIIIIII/m /1/CMy 20 2 3_ 1 2_ 28_ 2 D 1 g m es s a g e h a n d l e r sB O O L CMy 2 0 23_ 12_
19、2 8 _ 2 D l g:0n In it D i al o g OCD i al o g:O n l n i t Dial o g O;。/Ad d Ab o ut.m en u it em t o s y s t em m en u.o/I DM_ AB O UTB O X m us t be in t he s y s t em c o m m an d r an g e.ASSERT(I DM_ AB O UTB O X&0 x FFF 0)=I D M _ A B O U T B O X);ASSERT(I DM_ AB 0UTB 0X A p p en d Me n u(MF_
20、S EP A R A T O R);3 p Sy s Men u-Ap p en d Men u(MF_ STRING,IDM_ AB O UTB 0 X,s t r Abo ut Men u);寸)L O GFO N T 1 o g fo n t;CF o n t *p f o n t =m _ T im e.Get Fo n t ();bp fo n t-Get Lo g Fo n t (&l o g fo n t );el o g fo n t.1 f H e i g ht=l o g f o n t .1 f Heig h t *2;1 o g f o n t.IfWid t h=1
21、o g fo n t.1 f W id t h*2;/S e t s m al l i c o n。/TO DO:Ad d ex t r a in i t i a l i z a t i o n he r er e t ur n TRUE;/r et ur n T R U E un l e s s y o u s et t h e fo c us t o a c o n t r o lv o i d CMy 2023_ l 2_ 28_ 2Dl g:O n S y s Co m m an d (UINT n ID,LPARAM1 Par a m)if(n I D&0 x F FFO)=I D
22、M _ AB O UT B O X)(C Abo u t D 1 g d Ig A bo ut;d Ig Abo ut.Do Mo d a 1 ();e 1 s e0(0 CD ial o g:0n Sy s Co m m a n d (n I D,1Par am);d)/I f y o u ad d a m in im i z e b u t t o n t o y o u r d ial o g ,y o u wi 1 1 n e e d t h e c o d e b el o w/t o d r aw t he i c o n.Fo r MFC a p p l ic a t i o n
23、 s u s in g t hed o c u m en t /v i e w m o d e 1 ,/t his is a u t o m at i c al l y d o n e fo r y o u by t he fr am e w or k.v o id CMy 2 0 23_ 12_ 28_ 2D 1 g::O n Pain t ()i f(I s Ic o n ic ()o C P a in t DC d c (t his);/de vi ce con t ex t fo r p ain ti n gSendMessage(WM_ I C 0 NER A SEBKGN D,(W
24、 PARAM)de.G e tS a feHd c(),0);o/Center ico n in cl i e n t r ectan g 1 eint cxlcon=Get S ystemMetric s(SM_C X ICON);3 int cyl con=Get S y s t emMetrics(SM CYICON);CRect rec t;GetClient R ect(&rect);oint x=(r e ct.Width()-c xl c on+1)/2;b i n t y=(rect.H ei g ht()-cy I con+1)/2;/Draw the i co n。de.D
25、 r aw I c o n(x,y,m_hlcon);else(o CDialo g:OnP a in t();/The s yst e m c a Ils th is t o obtain th e c ur s or t odispl a y while th e us e r d ra g s/the minimi zed window.HCUR S 0 R CMy202 3 _ 1 2 _ 2 8_2D1 g:0 n QueryDragI c o n()r eturn(HCURSO R)m hlcon;/in t To r f()(叩二at o i (E d it Te x t );f
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 面向 对象 程序设计 实验
限制150内