본문 바로가기

C언어/테트리스

[C언어] 초보자도 쉽게? 구현한 테트리스 게임 완성!

 

여러분 안녕하세요!!

프로그래밍 언어를 배우는 자라면
누구나 한 번쯤 생각했다던, 들어봤다던
"테트리스 게임 만들기"

 

 


테트리스 구현 과정이 담긴 동영상

 

 

이 영상 2:43~ 3:33까지

제가 구현한 테트리스 게임입니다!!

(만들었던 대략적인 과정과 실패가 담긴 동영상입니다.)

 

https://youtu.be/OjvFeV3y3EU

 

저도 혼자서 테트리스를 만들었습니다.

테트리스를 만들면서,
정말? 많은것을 느꼈습니다.(아무것도 모르는 내가 만들다니..)

 


테트리스 개발하면서 느낀 점

 

확실하게 느낀 것은 생각만 하고 끙끙 앓기보단
직접 실행으로 옮기니 성공했다는 것입니다.

(네 저는 사실 "아.. 테트리스 만들어보고 싶은데 어떻게 하지..?"
(~라는 생각을 6개월 동안.. 가끔씩 고민했었습니다.ㅋㅋ))

한 가지 문제점은..
제가 미적 감각이 없어서..
안 그래도 픽셀로 배경을 꾸미자니
너무 어려웠던 것 같았습니다.ㅠㅠ


혼자 테트리스를 만들면서..
여러 가지 고민도 하고,
무언가를 구현하면 또 다른 곳에서 문제가 생기고,
버그를 해결하고,, 의 과정이 모여서 테트리스가 구현될 수 있었습니다.

제작기간은 3일 정도 소요된 것 같습니다.

밥 먹고, 테트리스 만들고,
"오류가 왜 수정이 안되지?" , "어디가 문제야 ㅠㅠㅠ"라는
생각과 함께
꿈속으로 들어가서도
"아하?"라는 다짐과 함께 깨어나서...
오류를 수정하고(생각보다 가까운 곳에 오류가 있었다는 점)를
반복하고 나니. 완성할 수 있었던 것 같습니다.

다음 글에서는 테트리스를 어떻게 만들었는지
제가 테트리스를 만들면서 사용했던,,
저의 지식을
여러분에게 공유!
해드리고자 합니다.


테트리스 만들기 위해 알아야할 최소 지식?!

 

제가 생각하기에 C언어에는
구조체, 동적 할당, 포인터, 파일 입출력, 자료구조 등
여러 어려운 개념이 있지만.
진짜 제 주관적으로 "테트리스 게임"은

for문이 무엇이지?
배열은 무엇이지?
함수 구현은 어떻게 하지?,,
자주 쓰는 변수를 정의는 어떻게 하지? (#define)

이 정도의 지식을 알고 있고,
선언할 줄 아는
누구나 다 구현을 할 수 있다고 생각합니다.
(일단 도전해보세요. 모르는 것이 있다면 추가적으로 배우면 된다!!)

제가 지식이 부족하다는 것을 알고 있지만,
그럼에도 불구하고 완벽하게 테트리스가 구현되기까지,
구조체, 포인터 등은 다루지 않았습니다.
그래서 여러분도 할 수 있다는 것입니다.

물론!!!
자주 사용하는
변수들과 함수들을 구조체에 담아서 선언하면
엄~청 편리할 것입니다.

(구조체를 선언하려 했지만 복잡해서,,ㅎ)
함수에 담아도 충분하다는 생각을 했습니다.

 


테트리스 만들기 ep1 전반적인 알고리즘과 사전 지식

 

 

테트리스 게임 만드는데 필요한? 기초 상식? 알고리즘..입니다.

2021.09.11 - [C언어] - [C언어] 초보자도 구현할 수 있는 테트리스 게임만들기 ep.1 전반적인 개요(with tetris Algorith)

 


테트리스 구현 소스 코드

 

아래 글은 제가 테트리스를 구현한 소스코드입니다.

https://github.com/SHcommit/Tetris-game-in-C-lang

 

GitHub - SHcommit/Tetris-game-in-C-lang: Created a Tetris game in C language.

:video_game:Created a Tetris game in C language. Contribute to SHcommit/Tetris-game-in-C-lang development by creating an account on GitHub.

github.com