OneBlock
OneBlock 는 앞 장에서 벽돌의 한 칸을 나타낸다고 했습니다. OneBlock 에 필요한 속성과 메소스를 구현해 보겠습니다.
| 속 성 | 설 명 | 
| X | 벽돌 내부에서의 벽돌 한 칸의 X 좌표 | 
| Y | 벽돌 내부에서의 벽돌 한 칸의 Y 좌표 | 
| Value | 벽돌 한 칸의 값(벽돌의 유무와 나중에 아이템 등의 값으로 사용 | 
'X', 'Y' 속성
X 는 벽돌 한 칸의 X 좌표를 Y는 벽돌 한 칸의 Y 좌표를 나타냅니다. 벽돌 한 개는 4x4 배열로 되어 있는데 그 벽돌 내에서의 좌표를 나타냅니다.
예를 들어 2x2 배열의 정사각형이라면 즉 Shape1 이라면 아래와 같이 구성되고 4개의 OneBlock은 아래와 같을 것입니다.
| 모양 | OneBlock 선언 | 
|  | OneBlock block1 = OneBlock(0,0); OneBlock block2 = OneBlock(1,0); OneBlock block3 = OneBlock(0,1); OneBlock block4 = OneBlock(1,1); | 
또는 'ㄱㄴ' 의 모양이라면 즉 Shape2 이라면 아래와 같이 구성되고 4개의 OneBlock은 아래와 같을 것입니다.
| 모양 | OneBlock 선언 | 
|  | OneBlock block1 = OneBlock(0,1); OneBlock block2 = OneBlock(1,1); OneBlock block3 = OneBlock(2,1); OneBlock block4 = OneBlock(3,1); | 
'Value' 속성
Value 는 벽돌 한 칸의 값을 나타냅니다. 벽돌이 없으면 0, 있으면 1 입니다. 나중에 아이템을 추가하여 2, 3 등의 int 값을 정해서 사용하면 될 것입니다.
OneBlock 구현
| OneBlock.h | 
| 
 class COneBlock { public: int m_iValue; int iPosX; // 4x4 배열중의 X 좌표 int iPosY; // 4x4 배열중의 Y 좌표 COneBlock(); COneBlock(int y,int x); virtual ~COneBlock(); 
 }; | 
| OneBlock.cpp | 
| 
 COneBlock::COneBlock(int y,int x) { this->iPosX = x; this->iPosY = y; } 
 COneBlock::COneBlock() { 
 } 
 COneBlock::~COneBlock() { 
 } | 

