/loq1_c

Primary LanguageC++

좌표체계

둘 수 있는 가장 왼쪽 아래 위치가 1, 1입니다.

가로가 x축, 세로가 y축입니다.

블록은 블록을 감싸는 가장 작은 직사각형의 왼쪽 아래가 기준 좌표입니다.

블록의 방향은 I자 블록, L자 블록 모두 알파벳 모양 그대로가 기준 방향으로(y=1에서 바라봤을 때), 1부터 시작하며 시계방향으로 90도 돌릴 때마다 1씩 증가합니다.

I블록의 최대값은 2, L블록의 최대값은 4입니다.

h_block는 세로, v_block은 가로가 길이 1의 막대로 막혔음을 의미합니다. 이에 대한 좌표체계는 위와 동일한 방식으로 적용됩니다.

State

현재 상태를 뜻하는 클래스이며, 이에 대한 연산은 복사본을 반환합니다.

즉, State에는 어떠한 연산을 적용하더라도 원본 State는 변하지 않으며, 이 성질을 이용하여 안전하게 유효성 검사를 진행할 수 있습니다.

State::move(const Point &to)

현재 턴의 말을 to 위치로 이동시킵니다.