Unity로 구현한 클래식 테트리스 게임입니다.
이 프로젝트는 초등학생도 쉽게 따라할 수 있도록 만든 프로그래밍 강의 자료입니다.
강의 문서를 블로그에서 보려면: https://joygram.github.io/tetris_lect/
이 폴더는 강의 문서(마크다운) 만 있는 저장소입니다. Assets, ProjectSettings, Packages 같은 Unity 프로젝트 폴더가 없어서, 이 경로를 Unity에서 “Open” 해도 프로젝트로 인식되지 않습니다.
올바른 방법
- Unity Hub → New Project → 2D 템플릿으로 새 Unity 프로젝트를 만듭니다. (예: 프로젝트 이름
Tetris, 위치d:\workspace\TetrisUnity등 이 폴더와 다른 경로) - 그 새 프로젝트를 Unity로 연 뒤, 이 저장소의 강의 문서(1단계 ~ 8단계)를 보면서 그 프로젝트 안에서 씬·스크립트·프리팹을 만듭니다.
- 이 저장소는 문서만 참고용으로 두고, 실제 게임은 새로 만든 Unity 프로젝트에서 작업하면 됩니다.
→ 자세한 첫 단계는 1단계: Unity와 C# 기초 의 “1. 프로젝트 생성”을 따라 하세요.
이 강의 자료는 GitHub Pages 블로그로 게시되어 있습니다.
다른 저장소라면 https://[사용자명].github.io/[저장소명]/ 형식입니다.
URL 확인 방법:
- GitHub 저장소의 Settings → Pages로 이동
- "Your site is live at..." 메시지에서 URL 확인
- 또는 직접 계산:
https://[GitHub사용자명].github.io/[저장소이름]/
예시:
- 사용자명:
myusername, 저장소명:tetris - 블로그 URL:
https://myusername.github.io/tetris/
블로그는 단계별 학습 방식으로 구성되어 있습니다:
- 1단계: Unity와 C# 기초 - Unity 프로젝트 생성 및 기본 사용법
- 2단계: 게임 보드 만들기 - 게임 보드 구현
- 3단계: 테트리스 블록 만들기 - 블록 모양 정의
- 4단계: 블록 이동 구현 - 이동 및 회전 기능
- 5단계: 입력 처리 - 키보드 입력 처리
- 6단계: 행 제거 시스템 - 줄 제거 기능
- 7단계: 점수 및 레벨 시스템 - 점수 계산 및 UI
- 8단계: 게임 완성 - 게임 루프 완성
- 9단계: 확장 - 코루틴 이펙트 - 3·2·1·Go 카운트다운, 줄 사라짐 이펙트 (선택)
단계별 실습 후 복기하고, 참고자료 폴더의 기초 개념 문서에서 점진적으로 확장된 실습을 이어가세요.
- 이 저장소를 GitHub에 푸시
- Settings → Pages → Source에서 GitHub Actions 선택
- 자동으로 배포됩니다
자세한 내용은 DEPLOYMENT.md를 참고하세요.
- Unity 기본 사용법 이해
- C# 프로그래밍 기초 습득
- 게임 로직 구현 능력 향상
- 문제 해결 능력 향상
Assets/
└── Scripts/
├── GameBoard.cs # 게임 보드 관리 (그리드, 행 제거 등)
├── TetrisBlock.cs # 테트리스 블록 조각 클래스 (이동, 회전, 낙하)
├── Spawner.cs # 테트리스 블록 생성
├── GameController.cs # 게임 로직 제어 (점수, 레벨)
├── InputHandler.cs # 입력 처리
└── Block.cs # 블록 컴포넌트
- ✅ 7가지 테트리스 블록 모양 (I, O, T, S, Z, J, L)
- ✅ 좌우 이동 및 회전
- ✅ 자동 낙하
- ✅ 빠른 낙하 (Soft Drop)
- ✅ 하드 드롭 (Hard Drop)
- ✅ 행 제거 시스템
- ✅ 점수 및 레벨 시스템
- ✅ 게임 오버 감지
- Unity 2020.3 이상
- C# .NET Framework 4.x
- Visual Studio 또는 Visual Studio Code
이 프로젝트는 학습 목적으로 제작되었습니다.