라인 클리어 블록 쌓기 게임

떨어지는 블록을 움직이고 돌려서 가로줄을 가득 채우면 그 줄이 사라지는 무료 온라인 블록 쌓기 게임입니다.

점수: 0줄 수: 0최고 점수: 0
다음 블록

키보드: ←/→ 이동, ↓ 한 칸 내리기, ↑ 회전, Space 바로 내리기, P 일시정지

이 게임이 하는 일

가로 10칸, 세로 18칸의 판(전체 180칸) 위로 4칸짜리 블록이 한 개씩 떨어지고, 가로 한 줄 10칸이 빈틈없이 차는 순간 그 줄이 사라지며 위의 더미가 한 줄씩 내려옵니다. 새 블록이 나타날 자리가 이미 막혀 있으면 게임이 끝납니다. 규칙은 단순하지만, 이 페이지의 구현에는 "다음 블록 순서가 완전한 무작위", "블록이 바닥에 닿은 뒤 다음 중력 틱까지만 움직일 수 있음", "점수는 한 번에 지운 줄 수에만 비례" 같은 특징이 있어 공략 방식이 정해집니다. 아래는 모두 이 페이지 코드의 값입니다.

조작 정리

블록 7종과 회전 모양

블록은 새로 만들 때마다 7종 중 하나가 같은 확률(1/7)로 고르게 뽑힙니다. 표의 "서로 다른 모양" 수는 4단계 회전 데이터를 위치만 정규화해 비교한 값입니다.

블록색칸 수처음 자세 크기(가로×세로)서로 다른 모양 수
I (일자)초록44×12
O (정사각형)빨강42×21
T (T자)파랑43×24
S (S자 지그재그)주황43×22
Z (Z자 지그재그)하늘43×22
J (J자(ㄱ자 계열))노랑43×24
L (L자(ㄴ자 계열))보라43×24

정사각형은 돌려도 변하지 않고, 일자·S·Z는 두 가지 모양을 번갈아 취하며, T·J·L은 네 방향이 모두 다릅니다. 새 블록은 판 위쪽 가운데 부근에서 나타납니다. 일자 블록만이 세로로 세우면 4줄에 걸치므로 한 번에 4줄을 지울 수 있는 유일한 블록입니다.

속도가 빨라지는 방식

중력 틱 간격은 700ms에서 시작해 지운 줄이 5줄 늘어날 때마다 60ms씩 줄고, 최저 180ms에서 멈춥니다(공식: max(180, 700 − ⌊줄 수÷5⌋×60)). 아래 표의 "자연 낙하 시간"은 위에서 바닥까지 18칸을 중력만으로 내려갈 때 걸리는 대략의 시간입니다.

지운 줄 수틱 간격초당 낙하 칸맨 위→바닥 자연 낙하
0줄 이상700ms1.43칸12.6초
5줄 이상640ms1.56칸11.5초
10줄 이상580ms1.72칸10.4초
15줄 이상520ms1.92칸9.4초
20줄 이상460ms2.17칸8.3초
25줄 이상400ms2.50칸7.2초
30줄 이상340ms2.94칸6.1초
35줄 이상280ms3.57칸5.0초
40줄 이상220ms4.55칸4.0초
45줄 이상180ms5.56칸3.2초

45줄 이상부터는 속도가 더 오르지 않고 180ms(초당 약 5.6칸)로 고정됩니다. 블록이 착지한 뒤에는 별도의 고정 지연 시간이 없어서 다음 틱에 바로 굳습니다. 따라서 마지막 단계에서 착지 후 좌우로 밀거나 돌릴 수 있는 여유는 최대 약 0.18초입니다. 줄을 지우는 순간 타이머가 새로 시작되므로 그 직후 블록은 한 틱 가까이 여유가 생깁니다.

점수 표와 효율

한 번에 지운 줄점수줄당 점수지워지는 칸 수
1줄100점100.0점10칸
2줄300점150.0점20칸
3줄500점166.7점30칸
4줄800점200.0점40칸

점수는 속도 단계와 무관하게 오직 동시에 지운 줄 수로 정해지고, 블록을 빨리 내려도 가산점이 없습니다. 예를 들어 같은 40줄을 지우더라도 전부 한 줄씩 지우면 4000점, 두 줄씩 20번이면 6000점, 네 줄씩 10번이면 8000점으로 갈립니다. 네 줄 지우기 5번(20줄), 두 줄 지우기 5번(10줄), 한 줄 지우기 10번(10줄)을 섞어도 합계 40줄이지만 6500점입니다(5×800 + 5×300 + 10×100). 한 줄 점수와 네 줄 점수의 줄당 효율 차이는 두 배입니다. 반대로 속도는 지운 줄 수가 늘수록 빨라지므로, 점수 효율을 높이려고 줄 지우기를 미루면 판이 차올라 위험해집니다.

무작위의 실제 의미

블록은 직전 블록과 상관없이 매번 독립적으로 뽑힙니다(Math.random 사용, 보안용 난수가 아닙니다). 7개 묶음에서 한 번씩 나오는 방식이 아니어서, 특정 블록이 오래 안 나올 수 있습니다. 일자 블록이 n번 연속으로 나오지 않을 확률은 (6/7)ⁿ입니다.

연속 블록 수일자 블록이 한 번도 안 나올 확률
7개약 34.0%
14개약 11.6%
21개약 3.9%
28개약 1.3%

14개 안에 한 번도 안 나올 확률이 약 11.6%이므로 열 번 중 한 번 정도는 일자 블록을 14개 넘게 기다릴 수 있다는 뜻입니다. 이 가능성을 전제로 판을 운영해야 합니다.

코드 규칙에서 나오는 공략

가로 배치 경우의 수와 게임 오버 지점

한 블록을 놓을 수 있는 가로 위치의 수는 모양의 폭에 따라 달라집니다. 폭이 w칸인 모양은 10칸 판에서 (10 − w + 1)곳에 놓을 수 있고, 서로 다른 모양 수만큼 더합니다. 예를 들어 일자 블록은 가로 모양(폭 4)이 7곳, 세로 모양(폭 1)이 10곳이라 17곳입니다. 아래 표의 합계는 7종 전체에서 162가지입니다. 다만 이는 회전·이동만으로 판 어디든 갈 수 있다고 가정한 값이며, 더미가 높아지면 실제로 갈 수 있는 위치는 줄어듭니다.

블록가로 배치 가짓수생성 시 맨 윗줄이 막히면 안 되는 열(왼쪽부터)
I (일자)17곳4·5·6·7번째 열
O (정사각형)9곳5·6번째 열
T (T자)34곳4·5·6번째 열
S (S자 지그재그)17곳4·5번째 열
Z (Z자 지그재그)17곳5·6번째 열
J (J자(ㄱ자 계열))34곳4·5·6번째 열
L (L자(ㄴ자 계열))34곳4·5·6번째 열

새 블록은 가로로 4번째 열 부근(x=3)에서, 일부 칸이 판 위쪽 바깥(y=−1)에 걸친 채 생성됩니다. 게임 오버 판정은 생성된 블록의 칸 중 판 안에 들어온 칸이 이미 채워진 칸과 겹치는지만 검사합니다. 그래서 가장 윗줄(1번째 줄)의 위 표에 적힌 열에 더미가 닿아 있으면 끝나고, 그보다 아래까지만 쌓였다면 아직 끝나지 않습니다. 반대로 말하면 표에 나오지 않는 열(1~3번째, 8~10번째)은 맨 윗줄까지 채워도 새 블록이 바로 막히지는 않습니다. 다만 그 상태에서 가운데로 블록을 옮길 공간이 없으면 곧 끝나므로 안전하다는 뜻은 아닙니다.

속도 단계까지 필요한 최소 블록 수

판이 비어 있는 상태에서 시작하므로, 줄 L개를 지우려면 최소 10×L칸을 채워야 하고 블록은 한 개가 4칸이니 최소 ⌈10L÷4⌉개가 필요합니다. 실제 플레이에서는 남아 있는 더미도 있으므로 이보다 더 많은 블록이 나옵니다. 이 값은 "이 속도에 닿으려면 최소 몇 개를 놓아야 하는가"의 하한입니다.

지운 줄 수그때의 틱 간격필요한 최소 블록 수
5줄640ms13개
10줄580ms25개
20줄460ms50개
30줄340ms75개
45줄180ms113개

표에서 5줄은 13개, 45줄은 113개입니다. 속도가 최고에 닿는 45줄까지는 아무리 효율적으로 놓아도 100개 넘는 블록을 다뤄야 하므로, 초반 몇 분은 느린 속도에서 자세를 다지는 구간이라고 볼 수 있습니다. 한 번에 여러 줄을 지우는 것은 점수에 유리하지만 줄 수는 같은 만큼만 오르기 때문에 속도 단계가 빨리 오르는 효과는 없습니다. 같은 20줄이라도 네 줄 지우기 5번이면 4,000점, 한 줄 지우기 20번이면 2,000점으로 점수는 두 배 차이가 나면서 속도 단계는 똑같습니다.

흔한 실수와 한계

초보자가 가장 자주 하는 실수는 높이를 균일하게 쌓지 않고 한 열만 먼저 올리는 것입니다. 판 높이는 18칸이고 새 블록이 위에서 나오므로, 가운데 열이 위쪽 몇 칸까지 올라오면 새 블록이 나올 자리가 막혀 곧바로 끝납니다. 또 모든 블록이 4칸이므로 이론상 구멍 없이 판 전체(180칸)를 채우려면 블록 45개가 필요하지만, 줄을 지울 때마다 10칸씩 사라지므로 실제로는 줄이 지워지는 속도가 쌓이는 속도와 같아야 끝나지 않습니다. 블록 2.5개가 줄 한 줄을 만든다는 계산입니다.

이 게임에는 블록 보관(홀드), 그림자(착지 예상 위치), 레벨 표시, 콤보 보너스, 스핀 점수가 없습니다. 속도 상승도 지운 줄 수만 기준이며 난이도 선택은 없습니다. 모바일에서는 화면 버튼으로 조작하며 버튼을 누르고 있어도 반복 입력은 되지 않고 누를 때마다 한 번씩 동작합니다.

최고 점수 저장

게임이 끝날 때 점수가 기존 최고 점수보다 높으면 브라우저 localStorage의 line-clear-best 키에 저장합니다. 서버로 보내지 않으며 기기·브라우저가 달라지면 따로 기록됩니다. 지우려면 브라우저의 사이트 데이터를 삭제하세요.

다른 퍼즐 게임도 즐겨보세요

칸을 클릭해 같은 색 블록 무리를 터뜨리는 퍼즐이 궁금하다면 색깔 블록 터뜨리기 퍼즐을, 타이밍에 맞춰 블록을 쌓는 게임이 궁금하다면 타이밍 블록 쌓기 게임을, 숫자 타일을 합치는 퍼즐은 숫자 합치기 퍼즐을 확인해보세요.

자주 묻는 질문

블록 모양은 몇 가지인가요?

일자 모양, 정사각형, T자 모양, 지그재그 모양(S·Z 2종류), J자·L자 모양까지 서로 다른 4칸짜리 블록 7종류가 같은 확률로 무작위 등장합니다.

속도는 어떻게 빨라지나요?

없앤 줄 수가 5줄 늘 때마다 중력 틱 간격이 60ms씩 줄어듭니다. 시작은 700ms, 최저는 180ms이며 45줄 이상에서는 더 빨라지지 않습니다.

한 번에 네 줄을 지우려면 어떤 블록이 필요한가요?

일자 블록을 세로로 세워 한 열에 꽂아야 합니다. 네 줄이 모두 그 한 열만 비어 있고 나머지 9칸이 채워진 상태여야 800점을 얻습니다.

일시정지 중에도 점수나 시간이 흐르나요?

아닙니다. 일시정지하면 낙하 타이머가 멈추고 입력이 무시됩니다. 다시 누르면 같은 속도로 이어집니다.

점수 기록은 어디에 저장되나요?

이 브라우저의 localStorage에만 저장됩니다. 다른 기기와 동기화되지 않으며, 사이트 데이터를 지우면 사라집니다.

키보드 방향키를 누르고 있으면 계속 움직이나요?

키보드에서는 키를 누르고 있으면 브라우저의 키 반복 입력으로 이동·내리기·회전이 이어집니다. 반복 속도는 운영체제 설정에 따르며 게임이 따로 정한 값이 아닙니다. 반면 Space로 바로 내리기는 키 반복이 무시되어 한 번 누를 때 한 번만 동작합니다.

바닥에 닿은 블록을 옆으로 밀 수 있나요?

착지한 블록은 다음 중력 틱이 오면 바로 굳습니다. 그 틱 사이에는 좌우 이동과 회전이 가능하지만, 아래 방향키나 버튼으로 내리기를 시도하면 이미 닿은 상태에서는 즉시 고정됩니다. 마지막 속도 구간의 틱은 180ms라 여유가 매우 짧습니다.

게임이 끝나는 정확한 조건은 무엇인가요?

블록이 고정된 뒤 새 블록을 만들었을 때, 그 칸 중 판 안에 들어온 칸이 이미 채워진 칸과 겹치면 끝납니다. 판 위쪽 바깥에 걸친 칸은 검사하지 않으므로 가장 윗줄의 가운데 부근(위 표의 열)이 막히는 순간이 사실상의 종료 지점입니다.