第 7 页精品文档---下载后可任意编辑C++编写的“扫雷”源程序 1、//headerfile#includeiostream#includecstdlib#includectime#includewindows.h#includeconio.h//defines#defineKEY_UP0xE048#defineKEY_DOWN0xE050#defineKEY_LEFT0xE04B#defineKEY_RIGHT0xE04D#defineKEY_ESC0x001B#defineKEY_11#defineKEY_22#defineKEY_33#defineGAME_MAX_WIDTH100#defineGAME_MAX_HEIGHT100//StringsResource#defi 2、neSTR_GAMETITLEArrowKey:MoveCursorKey1:OpenKey2:MarkKey3:OpenNeighbors#defineSTR_GAMEWINCongratulations!YouWin!Thankyouforplaying!n#defineSTR_GAMEOVERGameOver,thankyouforplaying!n#defineSTR_GAMEENDPresentedbyyzfy.PressESCtoexitn//-------------------------------------------------------------//Baseclassclas 3、sCConsoleWnd{public:staticintTextOut(constchar*);staticintGotoXY(int,int);staticintCharOut(int,int,constint);staticintTextOut(int,int,constchar*);staticintGetKey();public:};//{{//classCConsoleWnd////intCConsoleWnd::GetKey()//WaitforstandardinputandreturntheKeyCode//intCConsoleWnd::GetKey(){intnkey=getch(),nk= 4 、 0;if(nkey=128||nkey==0)nk=getch();returnnk0?nkey*256+nk:nkey;}////intCConsoleWnd::GotoXY(intx,inty)//第 8 页精品文档---下载后可任意编辑Movecursorto(x,y)//OnlyConsoleApplication//intCConsoleWnd::GotoXY(intx,inty){COORDcd;cd.X=x;cd.Y=y;returnSetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),cd);}////intCConsoleWnd::TextOut(constchar*pstr 5、)//Outputastringatcurrentposition//intCConsoleWnd::TextOut(constchar*pstr){for(;*pstr;++pstr)putchar(*pstr);return0;}////intCConsoleWnd::CharOut(intx,inty,constintpstr)//Outputacharat(x,y)//intCConsoleWnd::CharOut(intx,inty,constintpstr){GotoXY(x,y);returnputchar(pstr);}////intCConsoleWnd::TextOut(constchar*p 6、str)//Outputastringat(x,y)//intCConsoleWnd::TextOut(intx,inty,constchar*pstr){GotoXY(x,y);returnTextOut(pstr);}//}}//-------------------------------------------------------------//ApplicationclassclassCSLGame:publicCConsoleWnd{private:private:intcurX,curY;intpoolWidth,poolHeight;intbm_gamepool[GAME_MAX_HEIGHT 7、+2][GAM...