We may earn an affiliate commission when you visit our partners.
taehyung CHOI

안녕하세요. 테트리스 게임 강좌에 오신것을 환영합니다

테트리스 게임은 고전 중에 고전이고 아마 안해보신 분은 안계실 거라 생각이 드는데요,

단순한 구조의 게임이지만, 프로그램으로 구현을 한다는게 그렇게 간단한건 아니에요.

저와 함께 처음부터 하나하나 지금 보시는 이 게임이 완성될 때까지 차근차근 만들어 가볼 텐데요.

대략적인 데이터구조, 배열, 조건문, 반복문 등 이 게임을 직접 만들어 봄으로써, 여러분들의 프로그램밍 실력 향상이 되는 아주 좋은 예제라고 생각이 됩니다.이 테트리스 게임 만들기 강좌는 아직 테트리스 게임을 만들어 보지 못한 초보자 분들을 대상으로 강의가 진행되었습니다. 완전 제로 부터 시작해서 완성된 게임을 만드는 것 까지 같이 함께 해볼거에요.

아마 이 강좌를 마치게 되면 다른 게임도 만들수 있다는 강한 자신감이 들것이라고 확신합니다.

블럭생성 부터 시작해서, 블럭의 이동 , 블럭의 회전 , 블럭의 삭제, 삭제 할 때 효과

상단에 다음 블럭이 랜덤으로 생성되어 대기하고 있고, 배경음악, 효과음 처리, 게임 오버 되었을때 처리 등 다양한 기능들을 같이 함께 구현을 해볼꺼에요.

Read more

안녕하세요. 테트리스 게임 강좌에 오신것을 환영합니다

테트리스 게임은 고전 중에 고전이고 아마 안해보신 분은 안계실 거라 생각이 드는데요,

단순한 구조의 게임이지만, 프로그램으로 구현을 한다는게 그렇게 간단한건 아니에요.

저와 함께 처음부터 하나하나 지금 보시는 이 게임이 완성될 때까지 차근차근 만들어 가볼 텐데요.

대략적인 데이터구조, 배열, 조건문, 반복문 등 이 게임을 직접 만들어 봄으로써, 여러분들의 프로그램밍 실력 향상이 되는 아주 좋은 예제라고 생각이 됩니다.이 테트리스 게임 만들기 강좌는 아직 테트리스 게임을 만들어 보지 못한 초보자 분들을 대상으로 강의가 진행되었습니다. 완전 제로 부터 시작해서 완성된 게임을 만드는 것 까지 같이 함께 해볼거에요.

아마 이 강좌를 마치게 되면 다른 게임도 만들수 있다는 강한 자신감이 들것이라고 확신합니다.

블럭생성 부터 시작해서, 블럭의 이동 , 블럭의 회전 , 블럭의 삭제, 삭제 할 때 효과

상단에 다음 블럭이 랜덤으로 생성되어 대기하고 있고, 배경음악, 효과음 처리, 게임 오버 되었을때 처리 등 다양한 기능들을 같이 함께 구현을 해볼꺼에요.

커리큘럼은 10단계로 나누워져 있으며, 챕터 1부터 챕터 10까지 단계별로 계단식으로 이루워져 있습니다.

하나하나 계단을 밟아서 올라오다 보면 어느새 멋진 게임이 완성 되어 있을거에요.

그럼 저와 함께 게임을 만들어 볼까요?

Enroll now

What's inside

Syllabus

swift 언어 기본 설명입니다.

본격적인 게임을 만들기 전 기본적인 swift언어에 대한 간단한 설명입니다.


https://docs.swift.org/swift-book/GuidedTour/GuidedTour.html 의 내용을 설명해 드립니다.

Read more

변수 선언과 자료형 & 배열에 관한 설명입니다.

if 문 for-loop 문 while 문 switch 문 설명입니다.

4.Functions and Closures
5.Objects and Classes
6.Enumerations and Structures
7.Protocols and Extensions
8.Error Handling
9.Generics
테트리스 게임 만드는 방법을 자세하게 알게 될거에요.

테트리스 게임 소개입니다.

테트리스 게임 만들기 첫번째

게임 화면 설정 및 배경화면 셋팅 방법입니다.

블럭 이동에 관한 기능 구현입니다.

블럭 회전에 관한 기능 구현입니다.

블럭 다운 기능 구현과 블럭 삭제 기능 구현입니다.

게임 오버 처리 방법입니다.

대기블럭 생성 관련 방법입니다.

****************************************************************

코드가 수정 되었습니다.

NextBricks 클래스의 addBrick() 함수 내에 아래의 변수를 다음과 같이 초기화 해 주세요.

Variables.nodeGroup.removeAll()

Variables.newBrickArrays.removeAll()

사운드 효과 처리 방법입니다.

***************************************************************************

코드가 수정 되었습니다.

영상에서는 bgSound를 지역변수로 선언하여 사용을 하였는데, 전역변수로 변경해 주세요.

따라서, Variables 폴더에 import AVKit 을 해주신 다음에

static var bgSound = AVAudioPlayer() 이렇게 선언을 해주세요. 그 후에 ,,,

- Sounds 클래스에 정의된 bgSound는 Variables.bgSound로 변경해 주세요.

- DownButton 클래스에 isGameOver()함수 내에 게임이 끝났을 조건에 Variables.bgSound.stop()을 넣어주세요.


조명 효과 및 디자인 변경입니다.

Save this course

Save Swift 언어로 만드는 Tetris Game to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Swift 언어로 만드는 Tetris Game with these activities:
Swift 문법 복습
Swift 언어의 기본 문법을 복습하여 게임 개발에 필요한 기초 지식을 다집니다. 변수, 자료형, 조건문, 반복문 등 핵심 개념을 다시 한번 확인하세요.
Browse courses on Swift
Show steps
  • Swift 공식 문서 또는 튜토리얼을 통해 기본 문법을 복습합니다.
  • 간단한 코드 예제를 작성하고 실행하여 문법을 익힙니다.
  • 자주 사용되는 함수 및 클래스 사용법을 숙지합니다.
Swift 프로그래밍
Swift 프로그래밍 언어에 대한 공식 가이드를 읽고 Swift 언어에 대한 이해도를 높입니다. 이 책은 이 강좌의 내용을 보충하고 더 깊이 이해하는 데 도움이 될 것입니다.
Show steps
  • Swift 프로그래밍 언어 책을 읽고 Swift 언어에 대한 이해도를 높입니다.
  • 책에서 제공하는 예제 코드를 직접 실행해 봅니다.
  • 책의 내용을 바탕으로 간단한 프로그램을 작성해 봅니다.
배열 및 반복문 연습
배열과 반복문은 테트리스 게임 개발에 필수적인 요소입니다. 다양한 연습 문제를 통해 배열 조작 및 반복문 활용 능력을 향상시키세요.
Show steps
  • 배열에 데이터를 추가, 삭제, 수정하는 연습을 합니다.
  • for-in, while 반복문을 사용하여 배열을 순회하는 연습을 합니다.
  • 다양한 조건에서 반복문을 제어하는 연습을 합니다.
Three other activities
Expand to see all activities and additional details
Show all six activities
테트리스 블록 회전 알고리즘 설명
테트리스 블록 회전은 게임 로직의 핵심입니다. 자신만의 방식으로 회전 알고리즘을 설명하는 콘텐츠를 만들어 다른 사람에게 설명하는 과정을 통해 이해도를 높입니다.
Show steps
  • 다양한 테트리스 블록의 회전 메커니즘을 분석합니다.
  • 회전 알고리즘을 그림, 다이어그램, 또는 코드로 표현합니다.
  • 자신만의 설명 방식으로 회전 알고리즘을 설명하는 콘텐츠를 제작합니다. (블로그 게시물, 영상 튜토리얼 등)
나만의 테트리스 변형 게임 만들기
강좌에서 배운 내용을 바탕으로 자신만의 아이디어를 더해 새로운 테트리스 게임을 만들어 보세요. 새로운 규칙, 블록 디자인, 게임 모드 등을 추가하여 창의적인 게임을 개발할 수 있습니다.
Show steps
  • 새로운 규칙, 블록 디자인, 게임 모드 등 자신만의 아이디어를 구상합니다.
  • 강좌에서 배운 내용을 바탕으로 게임 개발을 시작합니다.
  • 새로운 기능을 추가하고 게임을 테스트하며 완성도를 높입니다.
Game Programming Patterns
게임 프로그래밍 패턴을 학습하여 게임 디자인 및 아키텍처에 대한 이해도를 높입니다. 이 책은 추가적인 읽을거리로 유용합니다.
Show steps
  • 게임 프로그래밍 패턴 책을 읽고 디자인 패턴에 대한 이해도를 높입니다.
  • 책에서 소개하는 패턴을 실제 게임 개발에 적용해 봅니다.
  • 자신이 개발하는 게임에 적합한 패턴을 선택하고 적용합니다.

Career center

Learners who complete Swift 언어로 만드는 Tetris Game will develop knowledge and skills that may be useful to these careers:
게임 개발자
게임 개발자는 플레이어를 즐겁게 하는 디지털 엔터테인먼트 경험을 만드는 데 중추적인 역할을 합니다. 이 역할에는 게임 플레이 메커니즘 설계, 코드 작성, 게임 기능 구현 및 엄격한 테스트가 포함됩니다. 이 과정은 게임의 핵심 요소 구현에 초점을 맞추고, 특히 Swift 언어로 테트리스를 제작하는 데 중점을 둡니다. 배열, 조건문, 반복문과 같은 기본 프로그래밍 개념을 다룸으로써 게임 개발자가 되는 데 필요한 실질적인 기술을 제공합니다. 이 과정을 통해 얻은 지식은 블록 생성, 이동, 회전, 제거와 같은 작업을 처리하는 데 직접적으로 적용될 수 있으며, 이는 게임 개발자가 되기 위한 중요한 단계입니다.
게임플레이 프로그래머
게임플레이 프로그래머는 게임의 핵심 메커니즘과 플레이어 상호 작용을 구현하는 데 특화되어 있습니다. 이들은 게임 디자이너와 협력하여 게임의 규칙, 컨트롤 및 AI를 코드로 변환합니다. 이 과정은 Swift 언어를 사용하여 Tetris 게임을 만드는 데 중점을 두어 게임플레이 프로그래머가 되기 위한 훌륭한 기반을 제공합니다. 이 과정을 통해 블록 이동, 회전, 제거 및 게임 오버 조건을 처리하는 방법을 배우면 게임플레이 프로그래머에게 필요한 핵심 기술을 익힐 수 있습니다. 이 과정은 게임 로직 구현, 사용자 입력 처리 및 게임 상태 관리에 대한 실질적인 경험을 제공합니다.
iOS 개발자
iOS 개발자는 Apple의 iOS 운영 체제용 애플리케이션을 만드는 데 특화되어 있습니다. 이들은 Swift 또는 Objective-C를 사용하여 iPhone, iPad 및 iPod Touch용 애플리케이션을 개발합니다. 이 과정은 Swift 언어를 사용하여 Tetris 게임을 만드는 데 중점을 두어 iOS 개발자가 되기 위한 훌륭한 출발점이 될 수 있습니다. 이 과정을 통해 얻은 지식은 사용자 인터페이스 설계, 사용자 상호 작용 구현 및 iOS 장치에서 애플리케이션 성능 최적화와 같은 iOS 개발의 여러 측면에 직접적으로 적용될 수 있습니다. 이 과정은 블록 생성, 이동 및 회전과 같은 게임 로직을 구현하는 데 필요한 실질적인 경험을 제공합니다.
모바일 애플리케이션 개발자
모바일 애플리케이션 개발자는 스마트폰과 태블릿에서 실행되는 애플리케이션을 전문적으로 개발합니다. 이들은 사용자 인터페이스 설계, 코드 작성, 애플리케이션 기능 통합을 담당합니다. 이 과정은 특히 iOS 애플리케이션 개발에 널리 사용되는 Swift 언어에 대한 확고한 기반을 제공합니다. 이 과정을 통해 얻은 지식은 Tetris 게임을 만드는 데 필요한 프로그래밍 개념과 기술을 다루기 때문에 모바일 애플리케이션 개발자에게 매우 유용합니다. 또한 이 과정은 다양한 기능을 구현하는 데 도움이 되며, 이는 모바일 애플리케이션 개발자가 숙달해야 하는 중요한 기술입니다.
소프트웨어 엔지니어
소프트웨어 엔지니어는 다양한 애플리케이션을 위한 소프트웨어를 설계, 개발, 테스트 및 유지 관리합니다. 이들은 다양한 프로그래밍 언어와 도구를 사용하여 고객의 요구 사항을 충족하는 효율적이고 안정적인 소프트웨어 솔루션을 만듭니다. 이 과정은 Swift 언어를 사용하여 Tetris 게임을 만드는 데 초점을 맞춤으로써 프로그래밍 기술을 강화하는 데 도움이 됩니다. 이 과정은 데이터 구조, 알고리즘 및 객체 지향 프로그래밍과 같은 핵심 소프트웨어 엔지니어링 개념을 다루기 때문에 소프트웨어 엔지니어 포지션을 목표로 하는 사람들에게 특히 유용하며, 이는 소프트웨어 엔지니어가 성공적인 소프트웨어를 구축하는 데 필수적입니다.
UI 프로그래머
UI 프로그래머는 게임의 사용자 인터페이스(UI)를 만들고 구현합니다. 그들은 메뉴, 헤드업 디스플레이(HUD) 및 기타 인터랙티브 요소를 설계하고 코드로 변환하여 플레이어가 게임과 쉽게 상호 작용할 수 있도록 합니다. 이 과정은 Swift 언어로 Tetris 게임을 만드는 데 중점을 두어 UI 프로그래머가 되기 위한 훌륭한 출발점을 제공합니다. 이 과정을 통해 얻은 지식은 메뉴 설계, 버튼 만들기 및 정보 표시에 필요한 프로그래밍 기술을 제공합니다. 이 과정은 사용자 인터페이스 디자인, 레이아웃 관리 및 UI 요소의 상호 작용 처리에 대한 실질적인 경험을 제공합니다.
게임 디자이너
게임 디자이너는 게임의 규칙, 설정, 스토리라인 및 캐릭터를 포함하여 게임의 전반적인 비전을 만드는 데 중점을 둡니다. 그들은 플레이어가 참여하고 즐겁게 할 수 있는 매력적인 게임 경험을 설계합니다. 이 과정은 Swift 언어로 Tetris 게임을 개발하는 데 도움이 될 수 있으므로, 이 과정은 게임 디자인 원칙에 대한 실질적인 경험을 제공합니다. 이 과정은 게임 플레이 메커니즘, 레벨 디자인 및 사용자 인터페이스 디자인을 이해하는 데 도움이 되며, 이는 게임 디자이너가 숙달해야 하는 필수 기술입니다. 이 과정을 통해 게임 제작의 기술적인 측면을 배움으로써 게임 디자이너는 개발자와 효과적으로 소통하고 게임 비전을 현실로 만들 수 있습니다.
기술 디자이너
기술 디자이너는 게임 개발에서 디자인과 기술 간의 간극을 메웁니다. 그들은 게임 디자이너와 프로그래머 간의 의사 소통을 용이하게 하고 게임 기능이 기술적으로 실현 가능한지 확인합니다. 이 과정은 Swift 언어로 Tetris 게임을 만드는 데 도움이 될 수 있으므로, 이 과정은 게임 개발 프로세스에 대한 귀중한 통찰력을 제공합니다. 이 과정을 통해 얻은 지식은 게임 디자인 원칙, 프로그래밍 기술 및 게임 개발 파이프라인에 대한 이해를 높입니다. 이 과정은 게임 디자이너와 프로그래머 간의 효과적인 의사 소통, 기술적 제약 조건 평가 및 게임 기능 구현에 대한 이해를 높입니다. 기술 디자이너는 일반적으로 석사 학위를 소지하고 있습니다.
인공지능 프로그래머
인공지능 프로그래머는 게임 내 캐릭터와 객체의 행동을 제어하는 AI 시스템을 개발합니다. 이들은 AI 알고리즘을 설계하고 구현하여 게임 캐릭터가 현실적이고 도전적인 방식으로 반응하도록 만듭니다. 이 과정은 Swift 언어로 Tetris 게임을 만드는 데 도움이 되므로, 이 과정은 AI 프로그래밍의 기초를 다지는 데 유용합니다. 이 과정을 통해 얻은 지식은 Tetris 게임에 AI를 통합하는 데 필요한 프로그래밍 기술을 제공합니다. 예를 들어, AI는 자동으로 블록을 배치하거나 플레이어의 행동을 예측할 수 있습니다. 이 과정은 알고리즘 설계, 의사 결정 로직 구현 및 게임 환경에서 AI 행동 최적화에 대한 이해를 높입니다.
게임 엔진 개발자
게임 엔진 개발자는 게임 개발자가 게임을 만들고 실행하는 데 사용하는 소프트웨어 프레임워크인 게임 엔진을 개발합니다. 그들은 렌더링, 물리, 오디오 및 네트워킹을 포함한 엔진의 핵심 시스템을 설계하고 구현합니다. 이 과정은 Swift 언어로 Tetris 게임을 만드는 데 도움이 될 수 있으므로, 이 과정은 게임 엔진 개발의 기본 원칙을 이해하는 데 유용합니다. 이 과정을 통해 얻은 지식은 게임 엔진의 개별 구성 요소가 어떻게 작동하는지에 대한 통찰력을 제공합니다. 이 과정은 게임 엔진 아키텍처, 성능 최적화 및 게임 개발 도구 통합에 대한 이해를 높입니다.
품질 보증 테스터
품질 보증 테스터는 소프트웨어가 품질 기준을 충족하는지 확인하기 위해 테스트합니다. 그들은 버그와 결함을 식별하고 개발자가 수정할 수 있도록 보고서를 작성합니다. 이 과정은 Swift 언어로 Tetris 게임을 만드는 데 도움이 될 수 있으므로, 이 과정은 품질 보증의 기본 원칙을 이해하는 데 유용합니다. 게임 개발의 맥락에서 이 과정은 게임을 철저히 테스트하고 버그를 식별하는 데 필요한 기술을 제공합니다. 이 과정은 테스트 계획, 테스트 케이스 작성 및 버그 보고에 대한 이해를 높입니다.
풀 스택 개발자
풀 스택 개발자는 프론트 엔드와 백엔드 개발 모두에 능숙하며, 웹 애플리케이션의 전체 스택을 관리할 수 있습니다. 이들은 사용자 인터페이스 설계부터 서버 측 로직 구현까지 모든 것을 처리할 수 있습니다. 이 과정은 Swift를 사용하여 Tetris 게임을 만드는 과정을 통해 풀 스택 개발자에게 프론트 엔드 및 백엔드 개발 기술을 향상시키는 데 도움이 될 수 있습니다. 이 과정은 게임 로직 구현, 사용자 상호 작용 처리 및 데이터 관리와 같은 다양한 측면을 다루기 때문에 풀 스택 개발자가 다양한 프로젝트를 처리하는 데 필요한 다재다능함을 제공합니다.
AR/VR 개발자
AR/VR 개발자는 증강 현실(AR) 및 가상 현실(VR) 애플리케이션을 개발합니다. 그들은 몰입형 경험을 만들고 사용자가 디지털 콘텐츠와 상호 작용할 수 있도록 AR/VR 기술을 사용합니다. 이 과정은 Swift 언어로 Tetris 게임을 만드는 데 도움이 될 수 있으므로, 이 과정은 AR/VR 개발의 기본 원칙을 이해하는 데 도움이 됩니다. 이 과정을 통해 얻은 지식은 AR/VR 환경에서 게임을 구현하는 데 필요한 프로그래밍 기술을 제공합니다. 이 과정은 3D 공간에서 사용자 인터페이스 디자인, 사용자 상호 작용 처리 및 AR/VR 장치와의 통합에 대한 이해를 높입니다.
프론트 엔드 개발자
프론트 엔드 개발자는 웹사이트와 웹 애플리케이션의 시각적인 부분, 즉 사용자가 직접 상호 작용하는 부분을 구축합니다. 그들은 HTML, CSS 및 JavaScript와 같은 기술을 사용하여 사용자 친화적이고 응답성이 뛰어난 인터페이스를 만듭니다. 이 과정은 Tetris 게임을 만드는 데 Swift를 사용한다는 점에서 프론트 엔드 개발자와 직접적인 관련은 없지만 프로그래밍 로직과 사용자 인터페이스 디자인에 대한 이해를 높일 수 있습니다. 특히 게임의 시각적 요소를 구현하는 데 사용되는 기술은 프론트 엔드 개발자가 사용자 경험을 개선하고 다양한 장치에서 웹 애플리케이션을 최적화하는 데 도움이 될 수 있습니다.
백엔드 개발자
백엔드 개발자는 서버, 데이터베이스 및 애플리케이션의 백그라운드 로직을 처리합니다. 그들은 애플리케이션의 원활한 작동을 보장하고 데이터를 효율적으로 관리하는 데 중점을 둡니다. 이 과정은 Tetris 게임을 만드는 데 Swift를 사용하는 것은 백엔드 개발과 직접적인 관련은 없지만, 프로그래밍 기술과 문제 해결 능력을 향상시키는 데 도움이 됩니다. 이 과정은 데이터 구조, 알고리즘 및 논리적 사고에 대한 이해를 높여 백엔드 개발자가 복잡한 시스템을 설계하고 효율적인 코드를 작성하는 데 도움이 될 수 있습니다.

Reading list

We've selected one books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Swift 언어로 만드는 Tetris Game.
Swift 프로그래밍 언어에 대한 공식 가이드입니다. Swift의 모든 기능을 자세히 설명하고 있으며, 문법, 자료 구조, 객체 지향 프로그래밍 등 다양한 주제를 다룹니다. 이 책은 Swift를 처음 배우는 사람들에게 훌륭한 자료이며, 숙련된 개발자에게도 유용한 참고 자료가 될 수 있습니다. 이 책은 이 강좌의 내용을 보충하고 더 깊이 이해하는 데 도움이 될 것입니다.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser