본문 바로가기

뭐라도 만들어보자!!( 프로젝트 )/C, C++ 프로젝트

1-0. C/C++ Console 테트리스를 만들어 보자 !!(시작)

반응형

본격적으로 프로그래밍을 공부하겠다고 시작한 지 대략 3 달 정도 지난 것 같은 데

깔짝깔짝 공부하는 것 외에는 만드는 것이 없어서 프로젝트 일지 겸 학습 일지를 블로그에 남기기로 하였습니다.

 

첫 프로젝트는 C/C++ 콘솔로 테트리스를 만들어보는 것으로 정하였습니다. 최대한 남이 짠 코딩은 보지 않고 온전하게 스스로의 힘으로 프로그램을 짜보는 것을 목표로 하였습니다.(지금은 프로젝트를 끝내서 정리하며 글을 적고 있습니다. ㅎㅎ)

 

<Git Repository로 바로 ㄱㄱ>

 

이유를 꼽자면 다음과 같습니다.

 

1. 프로그래밍에 있어서 가장 기본적인 지식들을 어느 정도 숙지하고 활용할 수 있는 지 판단할 수 있다.

 

-> 실제로 프로그램을 짜면서 변수의 선언 및 사용, 조건문의 사용, 반복문의 사용, 함수의 선언과 호출 등 가장 기본이 되는 개념부터 이중 배열, 구조체, 포인터, 클래스의 선언과 사용, 메모리 할당, 데이터 구조의 선언 및 사용 등 그나마 응용이 필요한 부분(사실 이 것도 기본 중 기본이죠!!)까지 많은 개념을 제대로 내가 알고 있는 가 확인할 수 있었습니다.

 

2. 테트리스는 간단해 보이지만 꽤 여러 기능을 구현해야 하고, 각 기능들이 긴밀하게 연결되어 있을 필요가 있다.

 

-> 어쩌면 첫 번째 이유와 연결되기도 합니다. 게임의 시작 화면과 게임 오버 화면을 출력하는 것, 콘솔에서 커서를 원하는 위치로 옮기는 것과 같이 간단한 기능부터 충돌과 낙하의 구현, 게임 진행 상황을 주기적으로 업데이트하고 이를 다시 게임 플레이에 반영할 수 있도록 데이터를 가공하는 것 등 게임과 직접적으로 연관된 비교적 복잡한 기능까지 구현할 필요가 있습니다. 더 나아가서 이러한 기능들을 효과적으로 엮어서 플레이를 할 수 있는 테트리스 게임 즉 하나의 시스템을 만들어야 합니다. 정리하자면 짧은 시간 내에 구현할 수 있으면서도 너무 쉽지만은 않은 과제라는 생각이 들었기 때문에 이 주제를 선택하였습니다.

 

이러저러 일들도 있었고, 짜고 싶을 짜는 경향도 있어서 보통은 2시간~3시간, 완성하기 전 4일 정도는 4시간에서 5시간씩 짜서 대략 10일 정도 걸린 것 같습니다. 다른 분들 보면 빡세게 잡고 보통 3일 정도 걸렸다고 하는 데 반성하게 되네요.

다음 글부터는 제가 어떻게 테트리스를 구현하였는지를 올리려고 합니다. 너무 자세한 부분까지는 설명하지 않고 

시스템 구조, 주요 기능의 구현 위주로 나누어서 설명할 계획입니다. 

반응형