资源简介
用VC6.0写的一款在控制台里玩的扫雷游戏
代码片段和文件信息
#include
#include
#include
#include
#include
using namespace std;
// 宏定义
#define KEY_UP 0xE048 //↑键
#define KEY_DOWN 0xE050 //↓键
#define KEY_LEFT 0xE04B //←键
#define KEY_RIGHT 0xE04D //→键
#define KEY_ESC 0x001B //ECS键
#define KEY_1 ‘1‘ //字符1
#define KEY_2 ‘2‘ //字符2
#define KEY_3 ‘3‘ //字符3
#define KEY_4 ‘4‘ //字符4
#define GAME_MAX_WIDTH 50 //最大宽度 x
#define GAME_MAX_HEIGHT 50 //最大高度 y
//宏定义颜色
#define LIGHTBLUE 9 // 1 蓝色
#define LAKEBLUE 3 // 2 湖蓝色
#define LIGHTGREEN 11 // 3 黄色
#define PURPLE 5 // 4 紫色
#define LIGHTPURPLE 13 // 5678 淡紫色
#define WHITE 7 // 方块 白色
#define GREEN 2 // 标记 绿色
#define LIGHTRED 12 // 雷区 淡红色
#define YELLOW 6 // 误扫 黄色
// 字符串宏定义,用于游戏结束后的不同使用
#define STR_GAMEtitle “\t游戏指南:1 = 使劲.踩;2 = 我.扫...;3 = AOE群** ;ESC = 返回主菜单“
#define STR_GAMEWIN “\t祝贺你!扫雷成功!\n“
#define STR_GAMEOVER “\t踩到地雷!对不起你输了!\n“
#define STR_GAMEEND “\n\t\t感谢使用~!欢迎下次再来O(∩_∩)O~~\n“
static int BoomNum;
static int NowBoomNum;
//-------------------------------------------------------------
// 控制台类---指示光标等控制台操作
class CConsoleWnd
{
public:
static int TextOut(const char*); //输出字符串
static int GotoXY(int int); //光标指向(x,y)
static int CharOut(int int const int); //输出位于(x,y)上的字符
static int TextOut(int int const char*); //输出位于(x,y)上的字符串
static int GetKey(); //获取键入的ASCII码
};
//
// int CConsoleWnd::GetKey()
// 等待标准输入,返回键码
//
int CConsoleWnd::GetKey()
{
int nkey=getch()nk=0;
if(nkey>=128||nkey==0)nk=getch();
return nk>0?nkey*256+nk:nkey;
}
//
// int CConsoleWnd::GotoXY(int x int y)
// 将控制台光标移至(x,y)点
//
int CConsoleWnd::GotoXY(int x int y)
{
COORD cd;
cd.X = x;cd.Y = y;
return SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE)cd);
}
//
// int CConsoleWnd::TextOut(const char* pstr)
// 在当前位置输出字符串
//
int CConsoleWnd::TextOut(const char* pstr)
{
for(;*pstr;++pstr)putchar(*pstr);
return 0;
}
//
// int CConsoleWnd::CharOut(int x int y const int pstr)
// 输出在(x,y)上的字符
//
int CConsoleWnd::CharOut(int x int y const int pstr)
{
GotoXY(x y);
return putchar(pstr);
}
//
// int CConsoleWnd::TextOut(const char* pstr)
// 输出在(x,y)上的字符串
//
int CConsoleWnd::TextOut(int x int y const char* pstr)
{
GotoXY(x y);
return TextOut(pstr);
}
//
//-------------------------------------------------------------
//应用类---正式玩游戏 控制台类的派生类
class CSLGame:public CConsoleWnd
{
private:
private:
int curXcurY; //当前x,y
int poolWidthpoolHeight; //当前宽度和高度
int bm_gamepool[GAME_MAX_HEIGHT+2][GAME_MAX_WIDTH+2]; //游戏存放字符的二维数组
public:
CSLGame():curX(
- 上一篇:ARQ 停止等待协议
- 下一篇:小蔡时钟V2.0(MFC版) VS2008
相关资源
- VC6.0做的仿按键精灵找图找色功能 f
- 最新版Zlib1.2.5 编译好 支持vc6.0
- VC6.0完全卸载工具.exe
- 英文版MSDEV
- glaux.h 免费
- WIN7中安装VC6.0
- vc6.0安装包
- DM.DLL和TLLOC.DLL
- VC6.0下操作EXCEL读写的,使用第三方类
- 基于VC6.0 的MFC学生成绩管理系统代码
- OpenGL_NURBS闭曲线_圆.rar
- win扫雷外挂含VC++源代码
- USB_HID通信上位机程序VC6.0(真正类似
- C语言easyx扫雷.附带排行榜和计时器支
- 永久破解vc6.0插件
- 烟花的VC6代码
- VC6.0下的socket编程 实现了UDP数据传输
- VC++6.0补丁FileTool解决VC++6.0打开文件崩
- FileTool.zip(win7环境下VC6.0使用插件)
- DM.dll TLLOC.dll
- VC6.0 MFC实现读取Excel数据的方法(程序
- C++课设报告高校人员信息管理系统
- c++课设(小型商品销售管理系统)
- qt写扫雷程序
- C++ MFC调用Javascrip函数
- C++实战源码-扫雷
- C语言实现扫雷游戏
- Qt扫雷小程序
- VC6.0实现进程控制与通信
- 一款VC6.0+MFC的MP3播放器源码
评论
共有 条评论