OneBlock
OneBlock 는 앞 장에서 벽돌의 한 칸을 나타낸다고 했습니다. OneBlock 에 필요한 속성과 메소스를 구현해 보겠습니다.
속 성
설 명
X
벽돌 내부에서의 벽돌 한 칸의 X 좌표
Y
벽돌 내부에서의 벽돌 한 칸의 Y 좌표
Value
벽돌 한 칸의 값(벽돌의 유무와 나중에 아이템 등의 값으로 사용
‘X’, ‘Y’ 속성
X 는 벽돌 한 칸의 X 좌표를 Y는 벽돌 한 칸의 Y 좌표를 나타냅니다. 벽돌 한 개는 4×4 배열로 되어 있는데 그 벽돌 내에서의 좌표를 나타냅니다.
예를 들어 2×2 배열의 정사각형이라면 즉 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; // 4×4 배열중의 X 좌표
int iPosY; // 4×4 배열중의 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()
{
}