www.pudn.com > TetrisWang.zip > Body.h


// Body.h: interface for the CBody class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_BODY_H__9CAB1AD3_F75F_11D4_910A_5254ABDD22CE__INCLUDED_) 
#define AFX_BODY_H__9CAB1AD3_F75F_11D4_910A_5254ABDD22CE__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
 
#include "Teris.h" 
#include "Block.h" 
 
class CBody : public CObject   
{ 
public: 
	CBody(); 
	CBody(CBody &b); 
	virtual ~CBody(); 
 
	void SetTetris(const CTetris &Tetris); 
	CTetris GetTetris(void)	{	return m_Tetris;	} 
 
	void Draw(CDC &dc); 
	void DrawTetris(CDC &dc, bool bNull = false); 
 
	void ReSetBlocks(void) 
	{ 
		m_Blocks.RemoveAll(); 
		m_Tetris.ReSetBlocks(); 
	} 
 
	bool IsTetrisFit(const CPoint &pt, CTetris Tetris); 
	bool TetrisMove(CDC &dc, const CSize &sz); 
	int RemoveLines(void); 
	bool HasBlock(int x, int y); 
	bool HasTetrisBlock(int x, int y); 
	void CutLastTetris(void); 
	void SetPoint(const CPoint &pt)	{		m_ptStart = pt;	} 
	CPoint GetPoint(void)	{		return m_ptStart;	} 
 
	CPoint GetTetrisPoint(void)	{	return m_ptTetris;	} 
	void SetTetrisPoint(const CPoint &pt)	{	m_ptTetris = pt;	} 
	void SetComputerCtrl(int &nRoate, int &nMove, int nComputerIntelligence); 
	int GetScore(int nNearNull[9], int nRoate, int nMove, int nComputerIntelligence); 
	int GetCellMaxTier(int nCell); 
 
	void AddLines(int nLines, int nColor); 
	int GetWidth(void)	{	return m_nWidth;	} 
	void SetWidth(int w)	{	m_nWidth = w;	} 
	int GetHeight(void)	{	return m_nHeight;	} 
	void SetHeight(int h)	{	m_nHeight = h;	} 
protected: 
	CArray	m_Blocks; 
	CTetris m_Tetris; 
	CPoint	m_ptTetris; 
 
	CPoint	m_ptStart; 
 
	int		m_nWidth; 
	int		m_nHeight; 
 
public: 
	void operator = (const CBody &b) 
	{ 
		m_nWidth = b.m_nWidth; 
		m_nHeight = b.m_nHeight; 
		m_Tetris = b.m_Tetris; 
		m_ptStart = b.m_ptStart; 
		m_ptTetris = b.m_ptTetris; 
	} 
}; 
 
#endif // !defined(AFX_BODY_H__9CAB1AD3_F75F_11D4_910A_5254ABDD22CE__INCLUDED_)