⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 winmine.h

📁 实现了windows Xp 中自带的扫雷的基本全部功能
💻 H
字号:
/**********************程序说明**************************/
//项目名称: 扫雷					           			//
//项目类型: 基于WIN32 API的窗口应用程序					//
//功    能: 同Microsoft(TM) Windows(TM) "扫雷" 程序		//
//文件名称: WinMine.exe									//
//项目文件: WinMine.h WinProc.h resource.h htmlhelp.h	//
//			WinMine.cpp	WinProc.cpp						//
//引用类库: winmm.lib comctl32.lib htmlhelp.lib			//
//作    者:	botcher										//
//单    位: 中国科学院研究生院							//
//生成日期: 2006年3月19日								//
//程序语言: 简体中文									//
//当前版本: 正式版本 v1.0.0.1							//
//测试平台: Windows XP Professional Service Pack 2 ZH-CN//
//联系方式: wangbaochen@gmail.com  TEL:13366036900		//
/********************************************************/


/*//////////////////////文件说明//////////////////////////
//														//
//文件名: WinMine.h					           			//
//功  能: 全局变量、宏、数据类型定义					//
//作  者:												//
//														//
////////////////////////////////////////////////////////*/

//########################################################
//	雷区左上角坐标(12,55)
//
#define MAIN_LEFTSTND		12
#define MAIN_TOPSTND		55
#define MAIN_RIGHTSTND		8
#define MAIN_BOTTOMSTND		8

//########################################################
//	功能区左上角坐标(12,12)
//
#define FUN_LEFTPOS			12		
#define FUN_TOPPOS			12
#define FUN_RIGHTSTND		8
#define FUN_BOTTOMSTND		12

//########################################################
//	记雷区左上角坐标(12,12)
//
#define COUNT_LEFTPOS		17		
#define COUNT_TOPPOS		16
#define COUNT_WIDTH			39
#define COUNT_HEIGHT		23

//########################################################
//	计时区
//		
#define TIME_TOPPOS			16
#define TIME_RIGHTSTND		15
#define TIME_WIDTH			39
#define TIME_HEIGHT			23

//########################################################
//	初级、中级、高级
//	行数、列数、雷数
#define BEGINER_COL_NUM		9
#define BEGINER_LN_NUM		9
#define BEGINER_BOMB_NUM	10

#define INTER_COL_NUM		16
#define INTER_LN_NUM		16
#define INTER_BOMB_NUM		40

#define ADVANCED_COL_NUM	30
#define ADVANCED_LN_NUM		16
#define ADVANCED_BOMB_NUM	99

#define MAX_COL_NUM			30
#define MAX_LN_NUM			24
#define MAX_BOMB_NUM		667
#define MIN_COL_NUM			9
#define MIN_LN_NUM			9
#define MIN_BOMB_NUM		10

//########################################################
//自定义鼠标状态
//
#define BTN_LBUTTONUP		1000 //左键弹起
#define BTN_LBUTTONDOWN		1001 //左键按下
#define BTN_RBUTTONDOWN		2000 //右键按下
#define BTN_RBUTTONUP		2001 //右键按下
#define BTN_DBBUTTONDOWN	3000 //双键按下
#define BTN_DBBUTTONUP		3001
#define BTN_DBBUTTONMOVE	3002
#define BTN_LBUTTONMOVING	4000 //鼠标移动
#define BTN_DBBUTTONMOVING	4001

//########################################################
//雷区图片 16*16 表情图片 24*24
//
#define MINE_BITMAP_WIDTH	16
#define MINE_BITMAP_HEIGHT	16
#define FACE_BITMAP_WIDTH	24
#define FACE_BITMAP_HEIGHT	24
#define NUM_BITMAP_WIDTH	13
#define NUM_BITMAP_HEIGHT	23	
//########################################################
//立体线框宽度
//
#define LINE_LIGHTEN_THICK		3
#define LINE_LIGHTEN_NORMAL		2
#define LINE_LIGHTEN_THIN		1
//########################################################
//鼠标位置状态
//
#define MOUSE_ON_MINE		181
#define MOUSE_ON_FACE		182
#define MOUSE_ON_OTHER		183

//########################################################
//自定义表情
//
#define FACE_TYPE_SMILE_PUSH	0x0000
#define FACE_TYPE_COOL			0x0001
#define FACE_TYPE_GRIEF			0x0002
#define FACE_TYPE_EXCLAIM		0x0003
#define FACE_TYPE_SMILE_POP		0x0004		

//########################################################
//自定义等级
//
#define LEVEL_BEGINNER			0x0000
#define LEVEL_INTER				0x0001
#define LEVEL_ADVANCED			0x0002	
#define LEVEL_CUSTOM			0x0003

//########################################################
//自定义状态标志
//
#define FLAG_ALREADPLAYED		0x0001
#define FLAG_ALREADTIME			0x0002
#define FLAG_COLOR				0x0004	
#define FLAG_MARK				0x0008
#define FLAG_SOUND				0x0010
#define FLAG_TIMECOUNT			0x1000
//###############################################################
//全局变量:保存地图的信息
//
static BYTE btLandmineMapinfo[MAX_COL_NUM][MAX_LN_NUM];


//###############################################################
//结构体:鼠标的逻辑位置属性
//mXpos:	列		mYpos:行 
//mIDpos:	位置类型(MOUSE_ON_MINE MOUSE_ON_FACE MOUSE_ON_OTHER)
//mIDbutton:消息类型(	DEF_LBUTTONUP		//左键弹起
//						DEF_LBUTTONDOWN		//左键按下
//						DEF_RBUTTONDOWN		//右键按下
//						DEF_DBBUTTONDOWN	//双键按下
//						DEF_DBBUTTONUP		//双键弹起
//						DEF_MOUSEMOVING		4//鼠标移动	)
struct tagMouseState{int mXpos;int mYpos;int mNowPostion;int mButtonMode;};

//###############################################################
//全局变量:
//mineRowNum:	宽度方向格数
//mineLineNum:	高度方向格数
//mineBomb:		雷数
//timeCount:	时间计数	
//bombCount:	地雷计数
//openCount:	翻开空格计数	
//flagState:	状态计数 -->|--	flagState&0x0001	游戏是否开始
//							|--	flagState&0x0002	游戏是否计时
//							|--	flagState&0x0004	界面是否彩色
//							|--	flagState&0x0008	是否标记问号(?)
//							|--	flagState&0x0010	是否播放声音
//							|--	flagState&0x0100	游戏登记
//							|--	flagState&0x1000	当前表情标志
	
static int mineRowNum,mineLineNum,mineBomb,timeCount,bombCount,openCount,flagState;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -