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

📄 llkdlg.h

📁 一款很不错的evc下运行的游戏
💻 H
字号:
// llkDlg.h : header file
//
//{{AFX_INCLUDES()
//}}AFX_INCLUDES

#if !defined(AFX_LLKDLG_H__4EEEDB13_9564_48A1_9F0B_BF4FE6E68B77__INCLUDED_)
#define AFX_LLKDLG_H__4EEEDB13_9564_48A1_9F0B_BF4FE6E68B77__INCLUDED_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000

/////////////////////////////////////////////////////////////////////////////
// CLlkDlg dialog

#define DRAW_TOP   22 
#define DRAW_LEFT  -13

#define PIC_WIDTH   28	
#define PIC_HEIGHT  34	

#define BMP_WIDTH   26	
#define BMP_HEIGHT  32

#define LINE_NUMBER 14
#define ROW_NUMBER  6

#define VIRTUAL_LINE 16 
#define VIRTUAL_ROW  8

#define TILEX(y) y * BMP_WIDTH + DRAW_LEFT
#define TILEY(x) x * BMP_HEIGHT + DRAW_TOP

#define		LS_NONE		0X00000000L		
#define		LS_PROMPT	0X00000100L			
#define		LS_SHUFFLE	0X00000200L			
#define		LS_SCORE	0X00000400L			
#define		LS_NOCLK	0X00000800L				
#define		LS_CLICK	0X00001000L				
#define		LS_DBLCLK	0X00002000L	

#include "Reg.h"

typedef struct _CJL_PATH
{
	int x;
	int y;
	_CJL_PATH *prev;
} CJL_PATH, *LPCJL_PATH;


class CLlkDlg : public CDialog
{
// Construction
public:
private:
	float m_nUpper;                 //时间条最大位置
    double m_nSpeed;                //时间条速度
   	int m_nLevel;                   //关卡
	int m_nLeft;                    //剩余牌数
	int m_nTotal;                   //总牌数
	int m_nShuffle;                 //洗牌次数
	int m_nPrompt;                  //提示次数
	int m_nScore;                   //分数
	double m_nPos;                  //时间条当前位置
	BOOL m_bTip_ok;                 //提示判断标识

	BOOL m_bTip;                    //提示按扭标识
	BOOL m_bWash;                   //洗牌按扭标识
	BOOL m_bSel;                    //选项按扭标识
    BOOL m_bBox;                    //对话框按扭标识

	int m_nTpos;                    //重新提示标识
	int m_nTpos_x1;					//提示位图坐标
	int m_nTpos_x2;
	int m_nTpos_y1;
    int m_nTpos_y2;

	LPCJL_PATH PIC_PLACE[29];		//位图链表
	int PIC_INDEX[28];				//位图标识
	CString m_strTop;				//事件消息
	BOOL m_bPause;					//暂停标识             
	BOOL m_bInGame;					//游戏标识
	BOOL m_bEffect;					//音效标识

	int CJL_MAP[ROW_NUMBER+2][LINE_NUMBER+2]; //位图数组

	int m_nMin,m_nSec1,m_nSec2;               //时间(分,秒)
	int m_nPane_x,m_nPane_y,m_nMenu_y;		  //选择框的坐标,菜单选择标识  
	int m_nLanguage;               //语言

	BOOL    m_bOvermusic;          //结束音标识
	BOOL    m_bSele_ok;            //菜单选择标识
	BOOL	m_bSecClk;             //鼠标点击标识
	BOOL    m_bMessage;            //消息框标识
	BOOL    m_bMouse;              //鼠标使用标识
	int     m_nXIndex, m_nYIndex;  //选中的位图坐标 
	CString	m_strBox;              //对话框消息
	int     m_nButton;             //按扭选择标识
	int     m_nPass;               //过关标识
	long    m_lPoint;              //当前最高分
	long	m_lHighPoint;          //最高分
	int		m_nTimer;              //计时次数
	int		m_nCycle;              //时间显示周期

private:
	int  GetLeft();                        //取得剩余牌数
	BOOL GetInGame();                      //返回是否游戏
	void UpdateShuffle(int nAddVal = -1);  //修改洗牌次数
	void UpdateScore(int nAddScore);       //修改分数
	void UpdatePrompt(int nAddVal = -1);   //修改提示次数
	void UpdatePos();                      //修改时间条位置
	void UpdateLeft(int nVal = -1);        //修改剩余牌数
	void UpdateClkState(int x, int y, int nNewVal);  //修改位图显示
	void StartGame();                                //产生随机位图
	void Shuffle();                                  //洗牌函数
	void SetValue(int x, int y, int nNewValue);      //设置坐标值
	void SetPos(float nPos);                         //设置时间条当前位置
	void SetPicIndex(int x, int y, int nIndex);      //设置位图坐标
	void SetPause(BOOL bPause = TRUE);               //设置暂停
	void SetLevel(int nNewLevel = 1);                //设置关卡
	void SetLeft(int nLeft = 42);                    //设置剩余牌数
	void SetInGame(BOOL bInGame = TRUE);             //设置是否游戏
	void ReleasePlace();                             //消去位图数组值
	void ReleasePicPlace(int x, int y);              //消去位图链表
	void Prompt();                                   //提示函数
	void MovePic(int x1, int y1, int x2, int y2);    //位图移动
	void ListPicPlace();                             //设置位图
	BOOL IsPicEmpty();                               //是否消完
	void InitMap();                                  //初始化位图
	int GetValue(int x, int y);                      //得到坐标值
	float GetUpper();                                //得到时间条长度
	int GetTotal();                                  //得到总牌数
	double GetSpeed();                               //得到时间条速度
	int GetShuffle();                                //得到洗牌次数
	int GetScore();                                  //得到分数
	int GetPrompt();                                 //得到提示次数
	double GetPos();                                 //得到时间条当前位置
	int GetPicIndex(int x, int y);                   //得到当前的位图标识
	BOOL GetPause();                                 //得到是否暂停标识
	int GetLevel();                                  //得到关卡
	void AddPicPlace(int x,int y);                   //链表中增加位图
	BOOL CheckConn(int x1,int y1,int x2,int y2);     //判断是否可连
	void InitEvent();                                //初始化事件
	BOOL CheckTwoDotConn(int x1, int y1,int x2,int y2);//判断连接是否为两个拐点
	BOOL CheckOneDotConn(int x1,int y1,int x2,int y2); //判断连接是否为一个拐点
	BOOL CheckLineConn(int x1,int y1,int x2,int y2);   //判断连接是否为一条线

	void ShowTop(CDC *pDC);                            //显示提示信息
	void DrawTime(CDC *pDC,CString min,CString sec1,CString sec2); //绘时间
	void TipButton(CDC *pDC);                         //绘提示按扭
	void WashButton(CDC *pDC);                        //绘洗牌按扭
	void SelButton(CDC *pDC);                         //绘选项按扭
	void DrawSemiTransparentRect(CDC *pDstDC, CRect rtTran, COLORREF clrSrc);//半透明函数
	void AddTime();                                      //增加时间函数
	void WriteFile();                                    //记录最高分
	void ReadFile();                                     //读取最高分
    void OnOptionPrompt();                               //提示
	void OnOptionShuffle();                              //洗牌
	void GoToNextLevel();                                //下一关
	void OnGameAbandon();                                //放弃游戏
	void NextLEVEL(CDC *pDC);                            //绘对话框
public:
	void DrawMenu(CDC *pDC);                             //绘菜单
	void DrawMessage(CDC *pDC);                          //绘信息栏
	void DrawMap(CDC *pDC);                              //绘游戏区域位图
	void GetBmp(CBitmap *pDst);                          //获取内存位图
	void DrawFace(CDC *pDC);                             //绘主位图
	void InitSysVar();                                   //初始化变量
	CLlkDlg(CWnd* pParent = NULL);	// standard constructor

	void CopyBackground(CDC *pDC, int nXSrc, int nYSrc, int nWidth,
							   int nHeight, CBitmap *pBmDst);//拷贝位图


// Dialog Data
	//{{AFX_DATA(CLlkDlg)
	enum { IDD = IDD_LLK_DIALOG };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CLlkDlg)
	public:
	virtual BOOL DestroyWindow();
	virtual BOOL PreTranslateMessage(MSG* pMsg);
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	HICON m_hIcon;

	// Generated message map functions
	//{{AFX_MSG(CLlkDlg)
	virtual void OnOK();
	virtual BOOL OnInitDialog();
	afx_msg void OnPaint();
	afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
	afx_msg void OnTimer(UINT nIDEvent);
	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
	//}}AFX_MSG
	afx_msg BOOL OnEraseBkgnd(CDC* pDC);
	
	DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft eMbedded Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_LLKDLG_H__4EEEDB13_9564_48A1_9F0B_BF4FE6E68B77__INCLUDED_)

⌨️ 快捷键说明

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