www.pudn.com > TetrisWang.zip > Teris.h
// Teris.h: interface for the CTetris class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_TERIS_H__9CAB1AD4_F75F_11D4_910A_5254ABDD22CE__INCLUDED_)
#define AFX_TERIS_H__9CAB1AD4_F75F_11D4_910A_5254ABDD22CE__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "Block.h"
class CTetris : public CObject
{
public:
CTetris();
CTetris(CTetris &t);
CTetris(int nType, int nColor);
CTetris(int nType, COLORREF crMain, BOOL bColor);
virtual ~CTetris();
void Draw(CPoint pt, CDC &dc, BOOL bNull = FALSE, int nSize = CBlock::GetCell(), BOOL bCenter = FALSE);
void Roate(void);
int GetBlockCount(void);
CBlock GetBlock(int nIndex);
CPoint GetBlockPoint(int nIndex);
void ReSetBlocks(void) { m_Blocks.RemoveAll(); }
void CutTopLine(void);
void CalculateSize(void);
int GetSize(void) { return m_nSize; }
void SetColor(COLORREF cr);
protected:
CArray m_Blocks;
int m_nSize;
public:
static char BLOCK_TYPE[MAX_TETRIS_TYPE][17];
static COLORREF COLOR_TYPE[MAX_COLORS];
void operator = (const CTetris &t)
{
m_Blocks.RemoveAll();
for (int i=0; i