개발/C, C++ 48

C언어로 게임만들기 - 5. 첫번째 게임_3)움직이는 골대 만들기

이제 이번 게임의 요소 중 마지막인 골대의 구현입니다.골대의 기능은 이렇습니다.- 좌우로 이동(왼쪽 끝에 도착하면 우측이로 이동, 우측끝에 도착하면 좌측으로 이동) - 일정한 시간/일정한 이동으로 이동 - 골대의 길이 조정 가능먼저 골대의 구조체를 선언합니다.123456789typedef struct GoalPost{ Position position; int nLength; int nLineX[7]; int nDist; clock_t moveTime; clock_t oldTime;}GoalPost;cs-position : 골대의 기준 좌표 -nLength : 골대의 길이 -nLineX[7] : 골인 라인의 좌표(골대의 길이에 따라 골인라인 출력을 위해 배열로 선언) -nDist:골대의 이동 거리 -mov..

개발/C, C++ 2017.03.20

C언어로 게임만들기 - 5. 첫번째 게임_2)Ball 만들기

이제 Player는 완성됐고, player에서 발사하는 ball을 만들면 된다. ball의 구현은 간단하다. 처음 대기상태(isReady=1)로 만든 후, 발사(f키)를 하게 되면 상태 변경(isReady=0). isReady가 0일 때, 현재 player 좌표를 기준으로 y--를 통해 위로 올라가는 모습을 구현하면 된다. 먼저 ball 자료구조를 만든다. 123456789typedef struct Ball{ int isReady; Position position; clock_t moveTime; clock_t oldTime;}Ball; Ball g_Ball;cs-isReady : 볼의 상태, (0:발사상태, 1:대기상태) -position : 볼의 현재 좌표 -moveTime : move되는 시간 간격..

개발/C, C++ 2017.03.19

C언어로 게임만들기 - 5. 첫번째 게임_1)Player 만들기

이제 프레임워크는 완성됐고, 이 프레임워크를 갖고 게임을 만들면 됩니다. 첫번째 게임은 C언어 게임만들기 강좌에서 나오는 5장-슛골임 게임 만들기입니다.(전체적인 내용은 위링크의 강좌의 내용이지만 순서나 코드는 제 나름대로 작성하였습니다.) 게임은 간단합니다. 좌우로 움직이는 골대에 플레이어를 좌우로 움직여 제한시간 내에 공을 가능한 많이 넣는 것입니다. 우선 좌우로 움직이는 플레이어 캐릭터를 만든다.1234567891011121314char PLAYER_STR[] = "└─●─┘";typedef struct Position{ int x, y;}Position; typedef struct{ Position position; char *strPlayer;// = "└─●─┘";//주인공 캐릭터 int nL..

개발/C, C++ 2017.03.19

C언어로 게임만들기 - 4. 코드정리(전체코드)

이제 C언어로 게임 개발을 위한 기본적인 틀은 완성하였다.게임 개발에 들어가기 전, 코드를 정리하자. 먼저 게임의 기본적인 구조를 갖고 있는 game.c 파일이다. 이전까지 해오던 작업에서 코드만 좀더 정리했다.game.c#include#include#include #include"screen.h"#include"fps.h" FPSData* fpsData; void Init(){ InitFPSData(&fpsData);} void Update(){} void Render(){ ScreenClear(); DrawFPS(&fpsData); ScreenFlipping();} void Release(){ DestoyFPSData(&fpsData);} void WaitRender(clock_t OldTime){ ..

개발/C, C++ 2017.03.18

C언어로 게임만들기 - 3. 렌더링 기능 구현

참고페이지 : C로 게임만들기 3장-게임의 기본 프레임워크란? - 소프트웨어 제작이 편리하도록 미리 뼈대를 이루는 클래스와 인터페이스를 제작해놓은 틀/구조 게임 프레임워크란? - 게임 제작에 필요한 기본 구조 및 긱능을 만들어 놓는 것을 말한다. 게임을 화면에 표시하기 위한 기본 기능들은 미리 구현해 두고, 실제 게임을 제작할때는 이 틀에 맞게 게임의 기능만 만들면 된다. C언어 콘솔 게임 프레임워크에 필요한 기능- ScreenInit() : 화면 버퍼 초기화, 전위버퍼-백버퍼 두개 생성 - ScreenClear() : 하나의 버퍼가 그려지고 있는 동안, 다음 장면을 위한 버퍼는 지워져야 한다. - ScreenFliping() : 환성화된 버퍼와 비활성화된 버퍼의 상태를바꾸는 함수 - ScreenRele..

개발/C, C++ 2017.03.15

C언어로 게임만들기 - 2. 게임 프로그래밍 용어

이태성님의 'C로 게임 만들기' 3장-게임의 기본의 내용이 이어집니다. 게임 용어락고 하였지만, 그래픽스에서 일반적으로 많이 쓰이는 용어입니다. 1. 전위 버퍼(Primary Buffer) : 전위면, 화면과 일대일 대응되는 메모리, 그래픽 카드의 메인 메모리 일부분 -> 해상도를 1024x768에서 1920x1080으로 변경한다면 이 전위 버퍼의 메모리 또한 늘어나게 된다. 전위 버퍼의 데이터는 색상 정보이며 모니터는 이 색상 정보를 그대로 출력한다. 2. 후위 버퍼(Back Buffer) : 전위버퍼와 동일한 특성의 메모리. 백 버퍼로 많이 불리운다. -> 전위 버퍼는 그래픽 카드에 생성이 되지만 후위 버퍼는 따로 생성, 시스템 메모리에도 생성할 수 있으나 그래픽 카드 메모리에 생성하여 빠른 화면 전..

개발/C, C++ 2017.03.14

C언어로 게임만들기 - 1. 게임 기본구조

요즘은 게임엔진과 게임프레임워크의 지원이 잘되어있어서 게임 만들기가 훨씬 쉬워졌습니다. 그래서 항상 궁금했었던 부분이 C언어로 내가 처음부터, 콘솔화면에는 게임을 어떻게 만드는지에 대해서는 의문이 많았는데요. 'C를 이용한 게임만들기'라는 책을 쓰신 저자님께서 정리를 굉장히 잘 해주셨더라구요.(책은 이미 절판되어서 구할 수 없습니다.) 'C를 이용한 게임만들기' 저자 이태성님께서 올리신 가이드를 참고하며 차근차근 처음부터 공부해보려합니다.보다 자세한 내용은 아래 사이트에 잘 정리되어 있습니다! 저는 아래 링크를 참고하고 있습니다. C 게임프로그래밍 강좌 : http://nowcampus.tistory.com/첫번째 내용은 튜토리얼의 3장-게임의 기본 구조입니다. 게임의 기본 구조게임의 기본 구조는 초기화..

개발/C, C++ 2017.03.14
반응형