资源简介
用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编写
- MFC数字钟(基于VC6.0)
- 安科瑞智能电能表MODBUS通讯程序 VC6
- VC6LineNumberAddin.dll
- 用VC6.0实现多边形扫描线填充算法
- VC助手 VC6.0助手
- 扫雷游戏.cpp
- c++ 扫雷游戏源码(控制台)
- c语言dos窗口扫雷.c
- 扫雷游戏.cpp(较简单)
- 扫雷辅助程序.zip
- c++游戏程序(包含源代码,有扫雷,
- 扫雷游戏.cpp C++ 课程设计
- VC6.0 完整的图像处理程序 运用了大量
- VC6.0经典串口通信源程序C++
- VC6.0MFC界面美化
- 即时通讯开发源码终极版C#.NETC++都有
- VS打开VC6.0所需libcd.lib
- MFC画圆自定义|位置|半径|边界和内部
- 用vc++6.0实现的银行账户管理系统
- vc6.0编程助手Visual_AssistX(含破解补丁
- VC6.0_MFC画图demo小程序源码
- Visual_assist_X_for_VC6.0破解版.rar
- C++游戏编程之扫雷大量注释新手福音
- VC开发MFC局域网屏幕监控系统完美版
- VC6.0三维画图画三维球,立方体,矩形
- VC6.0获取MAC地址
- vc6.0+opengl纯色五角星填充
- vc6.0+opengl动态绘制五角星
- VC6.0中缺少VC98\\\\CRT\\\\SRC文件夹的--
评论
共有 条评论