안녕하세요. 어제/오늘 저를 종일 붙잡고 있었던 간단한(?) 퍼즐 하나를 소개해볼까 합니다. '2048'이라는 게임인데, 이름 그대로 2048이라는 숫자를 만들면 승리하는 게임입니다. 2048이라는 숫자는 많이 보신적 있죠? 네, 바로 2의 11제곱입니다. 게임 방법은 간단합니다. 먼저 시작하면 다음과 같이 숫자 2 (또는 4) 두 개가 있습니다.
방향키를 움직이면 움직이는 방향대로 타일들이 이동합니다. 타일들이 이동할 때, 같은 숫자의 타일이 인접해 있으면 이 두 타일은 두 숫자를 합친 하나의 타일이 됩니다. 여기서는 왼쪽 방향키를 누르면 왼쪽으로 이동하면서 '4' 타일이 만들어지겠죠.
그와 동시에 숫자 '2' 타일이 하나 더 만들어진 것이 보이시나요? 이처럼 한 번 화살표 키를 누를 때마다 2 또는 4 타일이 생성됩니다. 생성되는 2 타일 두 개를 더하면 4 타일이 만들어지고, 4 타일 두 개를 더하면 8 타일이 만들어지고 ... 하는 식으로 2의 거듭제곱에 해당하는 타일들을 만들어 나가는 것이죠. 몇 번의 시행착오를 겪다보면 타일이 움직이는 방식을 쉽게 파악할 수 있습니다. 그래서 결국 최종적으로는 2048 타일을 만들어야 퍼즐을 클리어 할 수 있습니다.
하지만, 방향키를 한 번 움직일 때마다 2 또는 4의 타일이 하나씩 생성되고, 주어진 칸의 갯수가 16개로 한정되어 있기 때문에 같은 숫자의 타일을 겹쳐서 더 큰 숫자를 만들어내지 않는다면 위와 같이 더 이상 움직일 수 없게 되고 게임 오버가 됩니다. 한편, 타일이 모두 아래쪽에 붙어 있어서 아래 방향키를 눌러도 아무 변화가 없는 경우에는 움직이지 않은 것으로 인식되어 새로운 2 타일이 생성되지 않습니다. 다른 쪽도 마찬가지입니다.
그래서 제가 생각해낸 전략은 제일 큰 숫자는 한 쪽 구석으로 밀어놓고 나머지 작은 숫자들을 하나하나 차례차례로 만들어 나가 합치는 것입니다. 예를 들어 지금 256이 가장 큰 숫자면, 256을 왼쪽 아래에 놓았다고 치고 되도록이면 왼쪽 방향키와 아래쪽 방향키만 사용하여 256을 그 구석에 고정시키는 것이지요. 그리고 그 옆에 128을 만들고, 그 옆에 64를 만들고 ... 해서 8까지 만들어내면 이제 순서대로 합쳐서 512라는 숫자를 만들고 ... 이 과정을 반복하는 것입니다. 그런데 위에서 설명했듯이 모든 타일이 왼쪽 아래로 ㄴ 자 모양으로 되면 필연적으로 위 방향키나 오른쪽 방향키를 눌러야 합니다. 그래서 꼬이는 경우가 종종 발생하더군요...
아무튼 최적의 전략은 타일을 많이 남기면 불리하기 때문에, 최대한 큰 숫자로 밀어 넣는것이겠죠? 물론 2048을 만들기 위해서는 1024, 512, 256, 128, 64, 32, 16, 8의 여덟 개 타일이 적어도 칸 안에 남아 있어야 하기 때문에 상당히 움직임이 제한될 수 밖에 없겠죠. 이 타일들이 서로 앞 뒤로 붙어 있으면 재빨리 8 타일을 만들어 바로 승리가 가능하겠지만, 예를 들어, 64와 128이 멀리 떨어져있다면 ... 두 타일을 연속적으로 합치기가 매우 힘들게 됩니다.
생성되는 위치와 2가 생길지 아니면 4가 생길지는 랜덤이기 때문에, 약간의 운의 요소도 작용하는 것 같습니다. 게임의 중독성이라고 한다면 될 것 같으면서도 되지 않는 아슬아슬함이라고 할까요.. 1024는 이제 열 판 하면 대개는 여덟 판 정도는 만들 수 있지만 그 이상이 문제네요. 저는 아직 한 번도 클리어 하지 못했습니다.
http://gabrielecirulli.github.io/2048/
공식 사이트 주소입니다. 자료 사진의 캡쳐는 위 사이트에서 했습니다. 머리 쓰는 걸 좋아하시는 분이라면 상당히 흥미를 느낄 것이라 생각합니다.
'기본' 카테고리의 다른 글
2048 드디어 클리어 했네요! (0) | 2014.03.15 |
---|---|
간단하지만 어려운 두뇌 퍼즐 : Mirror Flux (0) | 2014.02.09 |