C编写的扫雷源程序
集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-
//headerfile
#include
#defineKEY_UP0xE048 #defineKEY_DOWN0xE050 #defineKEY_LEFT0xE04B #defineKEY_RIGHT0xE04D #defineKEY_ESC0x001B #defineKEY_1'1' #defineKEY_2'2' #defineKEY_3'3'
#defineGAME_MAX_WIDTH100 #defineGAME_MAX_HEIGHT100 //StringsResource
#defineSTR_GAMETITLE\ Key2:MarkKey3:OpenNeighbors\
#defineSTR_GAMEWIN\\
#defineSTR_GAMEOVER\ #defineSTR_GAMEEND\
//------------------------------------------------------------- //Baseclass classCConsoleWnd { 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=0;
if(nkey>=128||nkey==0)nk=getch(); returnnk>0nkey*256+nk:nkey; } //
//intCConsoleWnd::GotoXY(intx,inty) //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) //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*pstr) //Outputastringat(x,y) //
intCConsoleWnd::TextOut(intx,inty,constchar*pstr) {
GotoXY(x,y);
returnTextOut(pstr); }
C编写的扫雷源程序



