版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、宿迁学院Windows程序设计课程考核报告班级:学号:姓名:得分:2013年12月15日设.计目的及要求1.设1计目的及问题描述1.设2计要求1.软3件、硬件环境课.程设计步骤.课程设计内容3.概1要设计3.1.程1序总体框架描述3.1程.序2常用类声明3.主2要技术3.系3统设计结果(界面截图、操作流程设.计总结4.遇1到的问题及如何解决4.体2会源.代码设计目的及要求1.1设计目的及问题描述利用程序编写扫雷游戏,以检测自己一个学期对学习的情况,以及了解自己在学习中的不足,巩固和提高自己对的理解和掌握。掌握编程和调试的基本技能,进一步提高自己的动手能力,和运用解决实际问题的能力。本次我做的是
2、一个简单的扫雷的游戏,包括计算雷数、时间和扫雷的规则制定。1.2设计要求找出所有的非地雷的地方。如果在掀开方块的过程中,不小心翻开(踩到)藏有地雷的方块,则宣告失败(游戏结束),惟有将所有不含地雷的方块掀开游戏才算成功。游戏规则:首先按右键开始,可以通过界面快捷键(如图笑脸)也可以通过菜单重新开始。接着左键按下的数字周围一圈八格中雷的个数。当确定小方框里面是一个雷,则用右键按下有一个小旗出现。当发现此处不是一个雷时,就可以再次按下。结束时只需要按标题栏的关闭键或菜单中的文件下的退出。当踩到一个雷时,程序结束。软件硬件1.3软件、硬件环境操作系统,课程设计步骤1)添加位图前十二幅是在雷区的,后四
3、幅是按钮。位图的ID号:按扭位图:30*30IDB_ANNIU1、IDB_ANNIU2、IDB_ANNIU3IDB_ANNIU4雷区位图:14*14ID号按下图依次为:IDB_BITMAP14。IDB_BITMAP25添加全局变量public:intleftnum;/剩下雷数intleinum;/雷数intjieshu;/结束shortsecond;/计时intsecondstart;/开始计时CBitmapm_Bitmap12;CBitmapm_anniu4;intm_RowCount;行intm_ColCount;列wkhwkh5050;最大雷区voidleizero();virtualC
4、WkhView();画初始界面添加函数)voidCWkhView:leizero()扫描,如果是已经被按下且雷数为0,显示它周围的八个格,并重voidCWkhView:leizero()for(inti=0;im_RowCount;i+)for(intj=0;jm_ColCount;j+)if(wkhij.shumu=0&wkhij.weitu=1)for(intn=i-1;ni+2;n+)for(intm=j-1;m=0&n=0&m180&point.x10&point.yBitBlt(180,10,160,160,&Dc,0,0,SRCCOPY);if(point.x=10)&(point
5、.x=50)&(point.yBitBlt(180,10,160,160,&Dc,0,0,SRCCOPY);secondstart=1;inta=(point.x-10)/15;intb=(point.y-50)/15;if(wkhab.weitu=0|wkhab.weitu=3)if(wkhab.shumu=-1)jieshu=1;KillTimer(1);Invalidate();MessageBox(你失败了);elsewkhab.weitu=1;CRectrect;rect.left=a*15+10;rect.right=a*15+25;rect.top=b*15+50;rect.bo
6、ttom=b*15+65;InvalidateRect(&rect);CView:OnLButtonDown(nFlags,point);voidCWkhView:OnLButtonUp(UINTnFlags,CPointpoint)/鼠标左键松开voidCWkhView:OnLButtonUp(UINTnFlags,CPointpoint)/TODO:Addyourmessagehandlercodehereand/orcalldefaultCDC*pDC=GetDC();CDCDc;if(Dc.CreateCompatibleDC(pDC)=FALSE)AfxMessageBox(Cant
7、createDC);/显示按钮Dc.SelectObject(m_anniu0);pDC-BitBlt(180,10,160,160,&Dc,0,0,SRCCOPY);if(jieshu=1)Dc.SelectObject(m_anniu2);pDC-BitBlt(180,10,160,160,&Dc,0,0,SRCCOPY);if(point.x180&point.x10&point.y=10)&(point.x=50)&(point.y=290)inta=(point.x-10)/15;intb=(point.y-50)/15;if(wkhab.weitu=0|wkhab.weitu=3)
8、wkhab.weitu=2;leftnum-;elseif(wkhab.weitu=2)wkhab.weitu=3;leftnum+;/重画剩下雷数CRectrect2;rect2.left=20;rect2.right=70;rect2.top=10;rect2.bottom=40;InvalidateRect(&rect2);/重画打击格子CRectrect;rect.left=a*15+10;rect.right=a*15+25;rect.top=b*15+50;rect.bottom=b*15+65;InvalidateRect(&rect);CView:OnRButtonDown(n
9、Flags,point);voidCWkhView:OnStart()/计时函数voidCWkhView:OnStart()SetTimer(1,50,NULL);/TODO:Addyourcommandhandlercodeheresecond=0;计时secondstart=0;/l时开始计时/num=0;leftnum=leinum;剩余雷数jieshu=0;/jieshu=l时停止intaa=0;/初始化0for(inti=0;im_RowCount;i+)for(intj=0;jm_ColCount;j+)wkhij.shumu=0;wkhij.weitu=0;/设置40个雷doin
10、tk=rand()%m_RowCount;intl=rand()%m_ColCount;if(wkhkl.shumu!=-l)wkhkl.shumu=-1;aa+;while(aa!=leinum);/给方格赋值for(inta=0;am_RowCount;a+)for(intb=0;bm_ColCount;b+)if(wkhab.shumu=0)for(intc=a-1;ca+2;c+)for(intd=b-1;d=0&c=0&d0)secondstart+;if(secondstart=20)secondstart=1;second+;/重画时间CRectrect3;rect3.left=
11、325;rect3.right=375;rect3.top=10;rect3.bottom=40;InvalidateRect(&rect3);CView:OnTimer(nIDEvent);voidCWkhView:OnDraw(CDC*pDC)框架设置voidCWkhView:OnDraw(CDC*pDC)CWkhDoc*pDoc=GetDocument();ASSERT_VALID(pDoc);/TODO:adddrawcodefornativedatahere/画背景CBrushmybrush1;mybrush1.CreateSolidBrush(RGB(192,192,192);CR
12、ectmyrect1(0,0,1200,800);pDC-FillRect(myrect1,&mybrush1);/画黑框CBrushmybrush;mybrush.CreateSolidBrush(RGB(0,0,0);CRectmyrect(20,10,70,40);pDC-FillRect(myrect,&mybrush);CRectmyrect2(325,10,375,40);pDC-FillRect(myrect2,&mybrush);CPenmypen;CPen*myoldPen;mypen.CreatePen(PS_SOLID,2,RGB(255,255,255);myoldPe
13、n=pDC-SelectObject(&mypen);/画黑框的白线pDC-MoveTo(20,40);pDC-LineTo(70,40);pDC-LineTo(70,10);pDC-MoveTo(325,40);pDC-LineTo(375,40);pDC-LineTo(375,10);/画雷区边线for(inti=0;im_RowCount;i+)for(intj=0;jMoveTo(10+i*15,50+j*15+14);pDC-LineTo(10+i*15,50+j*15);pDC-LineTo(10+i*15+14,50+j*15);pDC-SelectObject(myoldPen
14、);CPenmypen2;CPen*myoldPen2;mypen2.CreatePen(PS_SOLID,1,RGB(0,0,0);myoldPen2=pDC-SelectObject(&mypen2);for(intii=0;iim_RowCount;ii+)for(intjj=0;jjMoveTo(10+ii*15,50+jj*15+14);pDC-LineTo(10+ii*15+14,50+jj*15+14);pDC-LineTo(10+ii*15+14,50+jj*15);pDC-SelectObject(myoldPen2);CDCDc;if(Dc.CreateCompatible
15、DC(pDC)=FALSE)AfxMessageBox(CantcreateDC);/显示按钮Dc.SelectObject(m_anniu0);pDC-BitBlt(180,10,160,160,&Dc,0,0,SRCCOPY);/判断显示什么位图/weitu=1已按下的数字区/weitu=2显示旗/weitu=3显示问号for(inta=0;am_RowCount;a+)for(intb=0;bBitBlt(a*15+10,b*15+50,160,160,&Dc,0,0,SRCCOPY);if(wkhab.weitu=2)Dc.SelectObject(m_Bitmap9);pDC-Bit
16、Blt(a*15+10,b*15+50,160,160,&Dc,0,0,SRCCOPY);if(wkhab.weitu=3)Dc.SelectObject(m_Bitmap10);pDC-BitBlt(a*15+10,b*15+50,160,160,&Dc,0,0,SRCCOPY);/结束if(jieshu=1&wkhab.shumu=-1)Dc.SelectObject(m_Bitmap11);pDC-BitBlt(a*15+10,b*15+50,160,160,&Dc,0,0,SRCCOPY);Dc.SelectObject(m_anniu3);pDC-BitBlt(180,10,160,
17、160,&Dc,0,0,SRCCOPY);/显示黑框里的数字intnOldDC=pDC-SaveDC();pDC-SetTextColor(RGB(255,0,0);pDC-SetBkColor(RGB(0,0,0);CFontfont;if(0=font.CreatePointFont(160,ComicSansMS)AfxMessageBox(CantCreateFont);pDC-SelectObject(&font);CStringstr;if(leftnumTextOut(25,10,str);if(second10)str.Format(00%d,second);elseif(se
18、condTextOut(330,10,str);pDC-RestoreDC(nOldDC);/菜)单修改课程设计内容3.1概要设计游戏的操作方面主要以鼠标为主,当鼠标指针对准未翻开的方块按下左键时即表示翻开方块,当鼠标指针对准未翻开的方块按下右键时即表示标示或疑示地雷,反复按下右键则方块会以未标示f标示f疑似三者关系不断循环。游戏者可以通过地雷区内的数字提示了解以数字为中心的其周边八个方格内所含的地雷数,假若翻开的方块显示数字“1”,则表示以其为中心的周边方块内藏有1个地雷。当按下的方块不是地雷,且周边八个方块也都没有地雷时,方块会以被翻开方块的八个方向将空白方块翻开。3.1.1程序总体框架描
19、述3.1.2程序常用类声明-舉+弋CAboutDIg+弋CMainFrame+弋CWkhApp+弋CWkhDoc+弋CWkhView+弋wkh+_|Globals定义新类:对于雷,我们是单独定义一个类,这样有利于程序的操作classwkhpublic:/显示哪一个位图intweitu;/这个位置相应的值intshumu;视图类变量:接着是在View类添加变量和函数:/剩下雷数intleftnum;/雷数intleinum;/结束intjieshu;/计时shortsecond;/开始计时intsecondstart;/位图数组CBitmapm_Bitmap12;/按扭位图数组CBitmapm_
20、anniu4;/雷区行数intm_RowCount;/雷区列数intm_ColCount;/最大雷区wkhlei5050;3.2主要技术图形的设置消息处理函数视图框架设置扫雷游戏算法菜单的设置。3.3系统设计结果(界面截图、操作流程)1.界面截图:操作流程图设计总结4.1遇到的问题及如何解决随着扫雷游戏的开发完成,本游戏中预期的主要功能也基本实现。本系统以作为前台开发工具,以简单、易用等优点成为开发本系统的首选工具。本论文阐述了扫雷游戏的分析与设计的全过程,并在论文中相应的位置插入了图片、流程图以及一些具有技巧性的程序代码,更加清晰的描述了该游戏是如何实现的。扫雷游戏是一款益智类游戏,该游戏与
21、那些网络游戏和游戏相比,它有编写简单容易上手等特点,非常适合人们在完成工作的时候适当的娱乐要求。这些小游戏大都是以益智和娱乐为目的,不仅给紧张工作的人们以放松,还可以让人们的大脑得到开发。由于我学习VisualC+6.0和MFC的时间比较短,其中的很多知识还没有了解和掌握,当然出现了很多错误,在设计过程中出现鼠标不响应操作的现象,这是因为定义鼠标函数时出现了错误;在设计过程中对位图的设置不够了解,总是不能调用位图,通过百度,才知道缺少了一部分代码;对于分号、引号的符号出现了不少的错误,主要是中英文切换时没注意,导致编译出错;完成程序之后,对程序进行编译,系统总是提示链接出错,经过仔细检查没有找
22、到语句或定义错误,后来发现是电脑问题,我在任务管理器中结束wkh.exe。再次链接,错误就消除了。4.2体会在扫雷游戏中有些功能还不够完善,例如在扫雷游戏中不能实现游戏难度的选择和游戏的保存。希望在以后的工作和学习中不断的充实自己的知识结构,把扫雷游戏的功能进一步完善,使它成为一个更具有实用价值的游戏软件,同时也恳请老师给予批评指正。源代码/MainFrm.cpp:implementationoftheCMainFrameclass/#includestdafx.h#includewkh.h#includeMainFrm.h#ifdef_DEBUG#definenewDEBUG_NEW#und
23、efTHIS_FILEstaticcharTHIS_FILE=_FILE_;#endif/CMainFrameIMPLEMENT_DYNCREATE(CMainFrame,CFrameWnd)BEGIN_MESSAGE_MAP(CMainFrame,CFrameWnd)/AFX_MSG_MAP(CMainFrame)ON_WM_CREATE()/AFX_MSG_MAPEND_MESSAGE_MAP()staticUINTindicators=ID_SEPARATOR,/statuslineindicatorID_INDICATOR_CAPS,ID_INDICATOR_NUM,ID_INDICA
24、TOR_SCRL,;/CMainFrameconstruction/destructionCMainFrame:CMainFrame()/TODO:addmemberinitializationcodehereCMainFrame:CMainFrame()intCMainFrame:OnCreate(LPCREATESTRUCTlpCreateStruct)if(CFrameWnd:OnCreate(lpCreateStruct)=-1)return-1;/*if(!m_wndToolBar.CreateEx(this,TBSTYLE_FLAT,WS_CHILD|WS_VISIBLE|CBRS
25、_TOP|CBRS_GRIPPER|CBRS_TOOLTIPS|CBRS_FLYBY|CBRS_SIZE_DYNAMIC)|!m_wndToolBar.LoadToolBar(IDR_MAINFRAME)TRACE0(Failedtocreatetoolbarn);return-1;/failtocreateif(!m_wndStatusBar.Create(this)|!m_wndStatusBar.SetIndicators(indicators,sizeof(indicators)/sizeof(UINT)TRACE0(Failedtocreatestatusbarn);return-1
26、;/failtocreate/TODO:Deletethesethreelinesifyoudontwantthetoolbarto/bedockablem_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);EnableDocking(CBRS_ALIGN_ANY);DockControlBar(&m_wndToolBar);*/HICONhicon;hicon=AfxGetApp()-LoadIcon(IDI_WKH);SetIcon(hicon,TRUE);return0;BOOLCMainFrame:PreCreateWindow(CREATESTRUCT
27、&cs)if(!CFrameWnd:PreCreateWindow(cs)returnFALSE;/TODO:ModifytheWindowclassorstylesherebymodifying/theCREATESTRUCTcscs.style=WS_SYSMENU;/cs.dwExStyle=cs.dwExStyle|WS_EX_TOPMOST;/cs.style=WS_SYSMENU|WS_OVERLAPPED|WS_MINIMIZEBOX;/;/设置窗口大小:400*340cs.cx=400;cs.cy=340;returnTRUE;/CMainFramediagnostics#if
28、def_DEBUGvoidCMainFrame:AssertValid()constCFrameWnd:AssertValid();voidCMainFrame:Dump(CDumpContext&dc)constCFrameWnd:Dump(dc);#endif/_DEBUG/CMainFramemessagehandlers/wkhView.h:interfaceoftheCWkhViewclass/#if!defined(AFX_WKHVIEW_H_A35B457D_4DC0_4B5B_A614_EAF8D78165BF_INCLUDED_)#defineAFX_WKHVIEW_H_A3
29、5B457D_4DC0_4B5B_A614_EAF8D78165BF_INCLUDED_#if_MSC_VER1000#pragmaonce#endif/_MSC_VER1000classwkhpublic:intweitu;intshumu;classCWkhView:publicCViewprotected:/createfromserializationonlyCWkhView();DECLARE_DYNCREATE(CWkhView)/Attributespublic:CWkhDoc*GetDocument();/Operationspublic:/Overrides/ClassWiz
30、ardgeneratedvirtualfunctionoverrides/AFX_VIRTUAL(CWkhView)public:virtualvoidOnDraw(CDC*pDC);/overriddentodrawthisviewvirtualBOOLPreCreateWindow(CREATESTRUCT&cs);protected:virtualBOOLOnPreparePrinting(CPrintInfo*pInfo);virtualvoidOnBeginPrinting(CDC*pDC,CPrintInfo*pInfo);virtualvoidOnEndPrinting(CDC*
31、pDC,CPrintInfo*pInfo);/AFX_VIRTUAL/Implementationpublic:intleftnum;/剩下雷数intleinum;/雷数intjieshu;/结束shortsecond;/计日寸intsecondstart;/开始计时CBitmapm_Bitmap12;CBitmapm_anniu4;intm_RowCount;行intm_ColCount;列wkhwkh5050;最大雷区voidleizero();virtualCWkhView();#ifdef_DEBUGvirtualvoidAssertValid()const;virtualvoidDu
32、mp(CDumpContext&dc)const;#endifprotected:/Generatedmessagemapfunctionsprotected:/AFX_MSG(CWkhView)afx_msgvoidOnTimer(UINTnIDEvent);afx_msgvoidOnRButtonDown(UINTnFlags,CPointpoint);afx_msgvoidOnLButtonDown(UINTnFlags,CPointpoint);afx_msgintOnCreate(LPCREATESTRUCTlpCreateStruct);afx_msgvoidOnStart();a
33、fx_msgvoidOnLButtonUp(UINTnFlags,CPointpoint);/AFX_MSGDECLARE_MESSAGE_MAP();#ifndef_DEBUG/debugversioninwkhView.cppinlineCWkhDoc*CWkhView:GetDocument()return(CWkhDoc*)m_pDocument;#endif/AFX_INSERT_LOCATION/MicrosoftVisualC+willinsertadditionaldeclarationsimmediatelybeforethepreviousline.#endif/!defi
34、ned(AFX_WKHVIEW_H_A35B457D_4DC0_4B5B_A614_EAF8D78165BF_INCLUDED_)/wkhView.cpp:implementationoftheCWkhViewclass/#includestdafx.h#includewkh.h#includewkhDoc.h#includewkhView.h#ifdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEstaticcharTHIS_FILE=_FILE_;#endif/CWkhViewIMPLEMENT_DYNCREATE(CWkhView,CView)BEGI
35、N_MESSAGE_MAP(CWkhView,CView)/AFX_MSG_MAP(CWkhView)ON_WM_TIMER()ON_WM_LBUTTONDOWN()ON_WM_RBUTTONDOWN()ON_WM_CREATE()ON_COMMAND(ID_START,OnStart)ON_WM_LBUTTONUP()/AFX_MSG_MAP/StandardprintingcommandsON_COMMAND(ID_FILE_PRINT,CView:OnFilePrint)ON_COMMAND(ID_FILE_PRINT_DIRECT,CView:OnFilePrint)ON_COMMAN
36、D(ID_FILE_PRINT_PREVIEW,CView:OnFilePrintPreview)END_MESSAGE_MAP()/CWkhViewconstruction/destructionCWkhView:CWkhView()/TODO:addconstructioncodeherefor(intii=0;ii16;ii+)m_Bitmapii.LoadBitmap(IDB_BITMAP14+ii);for(intjj=0;jj4;jj+)m_anniujj.LoadBitmap(IDB_ANNIU1+jj);second=0;计时secondstart=0;/l时开始计时m_Row
37、Count=25;行数m_ColCount=16;列数leinum=80;leftnum=leinum;剩余雷数jieshu=0;/jieshu=1时停止intaa=0;/初始化0for(inti=0;im_RowCount;i+)for(intj=0;jm_ColCount;j+)wkhij.shumu=0;wkhij.weitu=0;/获取当前时间CTimetime=GetCurrentTime();ints;/获取秒数s=time.GetSecond();/设置40个雷do/以当前秒数为产生随机算法intk=(rand()*s)%m_RowCount;intl=(rand()*s)%m_
38、ColCount;if(wkhkl.shumu!=-1)wkhkl.shumu=-1;aa+;while(aa!=leinum);/给方格赋值,计算雷数for(inta=0;am_RowCount;a+)for(intb=0;bm_ColCount;b+)if(wkhab.shumu=0)for(intc=a-1;ca+2;c+)for(intd=b-1;d=0&c=0&dFillRect(myrect1,&mybrush1);/画黑框CBrushmybrush;mybrush.CreateSolidBrush(RGB(0,0,0);CRectmyrect(20,10,70,40);pDC-F
39、illRect(myrect,&mybrush);CRectmyrect2(325,10,375,40);pDC-FillRect(myrect2,&mybrush);CPenmypen;CPen*myoldPen;mypen.CreatePen(PS_SOLID,2,RGB(255,255,255);myoldPen=pDC-SelectObject(&mypen);/画黑框的白线pDC-MoveTo(20,40);pDC-LineTo(70,40);pDC-LineTo(70,10);pDC-MoveTo(325,40);pDC-LineTo(375,40);pDC-LineTo(375,
40、10);/画雷区边线for(inti=0;im_RowCount;i+)for(intj=0;jMoveTo(10+i*15,50+j*15+14);pDC-LineTo(10+i*15,50+j*15);pDC-LineTo(10+i*15+14,50+j*15);pDC-SelectObject(myoldPen);CPenmypen2;CPen*myoldPen2;mypen2.CreatePen(PS_SOLID,1,RGB(0,0,0);myoldPen2=pDC-SelectObject(&mypen2);for(intii=0;iim_RowCount;ii+)for(intjj
41、=0;jjMoveTo(10+ii*15,50+jj*15+14);pDC-LineTo(10+ii*15+14,50+jj*15+14);pDC-LineTo(10+ii*15+14,50+jj*15);pDC-SelectObject(myoldPen2);CDCDc;if(Dc.CreateCompatibleDC(pDC)=FALSE)AfxMessageBox(CantcreateDC);/显示按钮Dc.SelectObject(m_anniu0);pDC-BitBlt(180,10,160,160,&Dc,0,0,SRCCOPY);/判断显示什么位图/weitu=1已按下的数字区/
42、weitu=2显示旗/weitu=3显示问号for(inta=0;am_RowCount;a+)for(intb=0;bBitBlt(a*15+10,b*15+50,160,160,&Dc,0,0,SRCCOPY);if(wkhab.weitu=2)Dc.SelectObject(m_Bitmap9);pDC-BitBlt(a*15+10,b*15+50,160,160,&Dc,0,0,SRCCOPY);if(wkhab.weitu=3)Dc.SelectObject(m_Bitmap10);pDC-BitBlt(a*15+10,b*15+50,160,160,&Dc,0,0,SRCCOPY)
43、;/结束if(jieshu=1&wkhab.shumu=-1)Dc.SelectObject(m_Bitmap11);pDC-BitBlt(a*15+10,b*15+50,160,160,&Dc,0,0,SRCCOPY);Dc.SelectObject(m_anniu3);pDC-BitBlt(180,10,160,160,&Dc,0,0,SRCCOPY);/显示黑框里的数字intnOldDC=pDC-SaveDC();pDC-SetTextColor(RGB(255,0,0);pDC-SetBkColor(RGB(0,0,0);CFontfont;if(0=font.CreatePointF
44、ont(160,ComicSansMS)AfxMessageBox(CantCreateFont);pDC-SelectObject(&font);CStringstr;if(leftnumTextOut(25,10,str);if(second10)str.Format(00%d,second);elseif(secondTextOut(330,10,str);pDC-RestoreDC(nOldDC);/CWkhViewprintingBOOLCWkhView:OnPreparePrinting(CPrintInfo*pInfo)/defaultpreparationreturnDoPre
45、parePrinting(pInfo);voidCWkhView:OnBeginPrinting(CDC*/*pDC*/,CPrintInfo*/*pInfo*/)/TODO:addextrainitializationbeforeprintingvoidCWkhView:OnEndPrinting(CDC*/*pDC*/,CPrintInfo*/*pInfo*/)/TODO:addcleanupafterprinting/CWkhViewdiagnostics#ifdef_DEBUGvoidCWkhView:AssertValid()constCView:AssertValid();void
46、CWkhView:Dump(CDumpContext&dc)constCView:Dump(dc);CWkhDoc*CWkhView:GetDocument()/non-debugversionisinlineASSERT(m_pDocument-IsKindOf(RUNTIME_CLASS(CWkhDoc);return(CWkhDoc*)m_pDocument;#endif/_DEBUG/CWkhViewmessagehandlersvoidCWkhView:OnTimer(UINTnIDEvent)/TODO:Addyourmessagehandlercodehereand/orcall
47、default/结束,返回if(jieshu=1)return;/显示个数为0的方格leizero();/计时if(secondstart0)secondstart+;if(secondstart=20)secondstart=1;second+;/重画时间CRectrect3;rect3.left=325;rect3.right=375;rect3.top=10;rect3.bottom=40;InvalidateRect(&rect3);CView:OnTimer(nIDEvent);voidCWkhView:OnLButtonDown(UINTnFlags,CPointpoint)/TO
48、DO:Addyourmessagehandlercodehereand/orcalldefault/获取指针pdcCDC*pDC=GetDC();CDCDc;if(Dc.CreateCompatibleDC(pDC)=FALSE)AfxMessageBox(CantcreateDC);/显示按下按钮if(point.x180&point.x10&point.yBitBlt(180,10,160,160,&Dc,0,0,SRCCOPY);if(point.x=10)&(point.x=50)&(point.yBitBlt(180,10,160,160,&Dc,0,0,SRCCOPY);secon
49、dstart=1;inta=(point.x-10)/15;intb=(point.y-50)/15;if(wkhab.weitu=0|wkhab.weitu=3)if(wkhab.shumu=-1)jieshu=1;KillTimer(1);Invalidate();MessageBox(你失败了);elsewkhab.weitu=1;CRectrect;rect.left=a*15+10;rect.right=a*15+25;rect.top=b*15+50;rect.bottom=b*15+65;InvalidateRect(&rect);CView:OnLButtonDown(nFlags,point);voidCWkhView:OnRButtonDown(UINTnFlags,CPointpoint)/TODO:Addyourmessagehandlercodehereand/o
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 前期物业管理服务协议(2024年修订)3篇
- 2024年房屋买卖:商业地产特殊条款2篇
- 2024版商场广告位使用权的授予合同3篇
- 2024年度版权作价投资合同
- 英语作文 关于教育方式的改变
- 甘肃省张掖市(2024年-2025年小学五年级语文)人教版摸底考试(下学期)试卷及答案
- 诊所医疗废物合同(2篇)
- 谢绝讲价合同(2篇)
- 2024年旧房转让协议书模板3篇
- 2024年天津市南开中学高考地理模拟试卷
- 湖南省多校联考2024-2025学年高二上学期11月期中考试英语试题 含解析
- 2024年保密教育培训
- 2024年度宾馆装修合同:设计与施工一体化协议
- 老年病科宣传
- 北京市朝阳区2024-2025学年九年级上学期期末模拟考试化学试卷(含解析)
- 金融时间序列
- 网络安全防护策略与指南
- 矿业数字化转型研究
- 影院防恐防暴应急预案
- 农产品溯源体系构建
- 风电场消防管理标准
评论
0/150
提交评论