资源描述:
《C++编写的“扫雷”源程序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、.//headerfile#include#include#include#include#include//defines#defineKEY_UP0xE048#defineKEY_DOWN0xE050#defineKEY_LEFT0xE04B#defineKEY_RIGHT0xE04D#defineKEY_ESC0x001B#defineKEY_1'1'#defineKEY_2'2'#defineKEY_3'3'#defineGAME_MAX_WIDTH100#defineGAME_M
2、AX_HEIGHT100//StringsResource#defineSTR_GAMETITLE"ArrowKey:MoveCursorKey1:OpenKey2:MarkKey3:OpenNeighbors"#defineSTR_GAMEWIN"Congratulations!YouWin!Thankyouforplaying!"#defineSTR_GAMEOVER"GameOver,thankyouforplaying!"#defineSTR_GAMEEND"Presentedbyyzfy.PressESCtoexit"//-----------------
3、--------------------------------------------//BaseclassclassCConsoleWnd{public:staticintTextOut(constchar*);staticintGotoXY(int,int);staticintCharOut(int,int,constint);staticintTextOut(int,int,constchar*);staticintGetKey();public:};//{{//classCConsoleWnd////intCConsoleWnd::GetKey()//Waitforst
4、andardinputandreturntheKeyCode//intCConsoleWnd::GetKey(){intnkey=getch(),nk=0;if(nkey>=128
5、
6、nkey==0)nk=getch();..returnnk>0?nkey*256+nk:nkey;}////intCConsoleWnd::GotoXY(intx,inty)//Movecursorto(x,y)//OnlyConsoleApplication//intCConsoleWnd::GotoXY(intx,inty){COORDcd;cd.X=x;cd.Y=y;returnSetCons
7、oleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),cd);}////intCConsoleWnd::TextOut(constchar*pstr)//Outputastringatcurrentposition//intCConsoleWnd::TextOut(constchar*pstr){for(;*pstr;++pstr)putchar(*pstr);return0;}////intCConsoleWnd::CharOut(intx,inty,constintpstr)//Outputacharat(x,y)//intCCo
8、nsoleWnd::CharOut(intx,inty,constintpstr){GotoXY(x,y);returnputchar(pstr);}////intCConsoleWnd::TextOut(constchar*pstr)//Outputastringat(x,y)//intCConsoleWnd::TextOut(intx,inty,constchar*pstr){GotoXY(x,y);returnTextOut(pstr);}//}}//-------------------------------------------------------------/
9、/ApplicationclassclassCSLGame:publicCConsoleWnd..{private:private:intcurX,curY;intpoolWidth,poolHeight;intbm_gamepool[GAME_MAX_HEIGHT+2][GAME_MAX_WIDTH+2];public:CSLGame():curX(0),curY(0){poolWidth=poolHeight=0;}intInitPool(int,int,int);intMo