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

📄 map.h

📁 3D俄罗斯方块源码.rar
💻 H
字号:
#ifndef _MAP_H
#define _MAP_H
/********************************************************************
文件名: MAP.h
Copyright (c)2004  红孩儿工作室
创建人  : 卞安
创建时间: 2004-5-18 12:33:30
版本: 1.0
类名: CMAP
说明:
	地图数据类
********************************************************************/
#include "ELSTILE.h"
#include "Cuboid.h"
#include "ELSTILE.h"
#include "2DSOUND.h"
//---------------------------------------------------------------
class CMAP
{
    CCuboid *m_tile[9];//格子
	CELSTILE *m_thistile;//当前方块组合
	CELSTILE *m_lasttile;//下一个方块组合
	CELSTILE m_testtile;//测试转动方块组合
	int m_x;//tile的格子X位置
	int m_y;//tile的格子Y位置
	float m_fy;//Y位置的浮点数
	int m_type;
	LPDIRECT3DDEVICE8 m_pD3DDevice;
	HWND m_hWnd;
	C2DSOUND *m_sound;//---声音------
	C2DSOUND *m_sound2;//---声音------
public:
	bool m_IsshowNext;//是否显示下一个方块
    bool m_cancon;
	int xiaorownum;//消行数量
	bool m_addrow;//是否给对方加行数
	int m_nowrow;//现在的行数
	bool m_finish;//是否结束
	bool m_Isdown;//是否在下落
    long m_score;//分数
    int m_level;//级别
    int g_level;//原设定级别
	int m_speed;//速度
    int m_map[20][10];
	/** 成员函数.
       * 初始化
       */
    CMAP();
    ~CMAP();
	bool init(int _type,int _level,int _row,bool _shownext,LPDIRECT3DDEVICE8 pD3DDevice,HWND _hWnd,C2DSOUND *_sound,C2DSOUND *_sound2);
	void Render();
	/** 成员函数.
       * 清空容器
       */
	void CleanMap();
	/** 成员函数.
       * 随机生成地图
	   *\param _row为行数
       */
	void RandMap(int _row);
	/** 成员函数.
       * 使行数增加
	   *\param _row为行数
       */
	void AddToMap(int _row);
	/** 成员函数.
       * 判断碰撞
	   *_tile为方块
       */
	bool IsAttack(CELSTILE *_tile);
	/** 成员函数.
       * 下落
	   *_tile为方块
	   *\result 返回是否完成
       */
	void GoDown(CELSTILE *_tile);
	/** 成员函数.
       * 下落至低部
	   *_tile为方块
       */
	void GoButtom(CELSTILE *_tile);
	/** 成员函数.
       * 开始下落至低部
       */
    void StartGoButtom();
	/**成员函数.
	  *等级判断
	  *\return 返回增加值
	  */
	int AddLevel();
	/**成员函数.
	  *速度判断
	  */
	void AddSpeed();
	/**成员函数.
	  *向左移
	  */
	void GoLeft(CELSTILE *_tile);
	/**成员函数.
	  *向右移
	  */
	void GoRight(CELSTILE *_tile);
	/**成员函数.
	  *处理碰撞
	  */
	void DoAttack(CELSTILE *_tile);
	/**成员函数.
	  *转动方块
	  */
	void RotateTile(CELSTILE *_tile);
	/**成员函数.
	  *回到顶端
	  */
	void GoTop(CELSTILE *_tile);
	/**成员函数.
	  *回到顶端
	  */
	void GoFinish1();
	/**成员函数.
	  *回到顶端
	  */
	void GoFinish2();
	/**成员函数.
	  *进行修正
	  */
	void DoGood();
	/**成员函数.
	  *设置下一个方块组合
	  */
	void SetNext(CELSTILE *_tile);
	/**成员函数.
	  *消行处理
	  */
	bool DoXiaoAni();
    /**!\brief
	  *渲染下一个
	  */
	void RenderNext();
};
#endif

⌨️ 快捷键说明

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