전체 글
-
5 - (3). 에너미들을 관리해주는 매니저 클래스 설계( 싱글톤 클래스 )하기C,C++로 만드는 간단한 프로젝트/Invaders(Galaga) 게임 만들기 2021. 3. 26. 20:30
아래의 내용에 이어서 에너미들을 관리해주는 매니저 클래스를 만들어 보자. designatedroom87.tistory.com/395 5 - (2). 에너미를 클래스화 하기 아래의 내용에 이어서, 이번에는 에너미를 클래스화 해보자. designatedroom87.tistory.com/394 5 - (1). 플레이어를 클래스화 하기 이번 편부터는 모두 번외편으로 완성된 내용을 하나씩 클래스화 하기로 designatedroom87.tistory.com 알다시피 main 소스 파일에서 에너미들을 객체 배열로 전역 변수로 두었는데, 이 에너미들을 전체적으로 관리해줄 매니저 클래스를 두도록 하자. 이 매니저 클래스를 보통 싱글톤 클래스로 두는데, 이 이유는 말 그대로 유일하게 하나만 존재하도록 관리할 수 있다. 플..
-
5 - (2). 에너미를 클래스화 하기C,C++로 만드는 간단한 프로젝트/Invaders(Galaga) 게임 만들기 2021. 3. 26. 19:33
아래의 내용에 이어서, 이번에는 에너미를 클래스화 해보자. designatedroom87.tistory.com/394 5 - (1). 플레이어를 클래스화 하기 이번 편부터는 모두 번외편으로 완성된 내용을 하나씩 클래스화 하기로 하자. designatedroom87.tistory.com/393 4. 총알과 오브젝트의 충돌 체크 & 게임 종료 만들기 아래의 내용에 이어서 진해응 해보자. designatedroom87.tistory.com 기본적인 에너미 클래스는 플레이어와 거의 같다. 아래의 기본적인 내용도 플레이어 클래스의 멤버함수들과 같다. 에너미; 클래스의 EnemyAction 멤버함수에서 총알과 관련한 내용은 일단 주석처리를 한다. 총알과 관련한 내용도 클래스화 작업을 해야 하기 때문이다. main함..
-
5 - (1). 플레이어를 클래스화 하기C,C++로 만드는 간단한 프로젝트/Invaders(Galaga) 게임 만들기 2021. 3. 26. 16:41
이번 편부터는 모두 번외편으로 완성된 내용을 하나씩 클래스화 하기로 하자. designatedroom87.tistory.com/393 4. 총알과 오브젝트의 충돌 체크 & 게임 종료 만들기 아래의 내용에 이어서 진해응 해보자. designatedroom87.tistory.com/392 3. 플레이어와 에너미의 총알 만들기 아래의 내용에 이어서 만들어 보도록 하자. designatedroom87.tistory.com/391 2. 에너미의 움직임.. designatedroom87.tistory.com 가장 많이 쓰는 헤더 파일들을 한데 모아 common.h 파일에 두도록 하자. 우선 파일의 확장명이 모두 c였는데, 소스 파일의 확장명을 모두 cpp로 변경을 하도록 하자. 먼저 변경이 ..
-
4. 총알과 오브젝트의 충돌 체크 & 게임 종료 만들기C,C++로 만드는 간단한 프로젝트/Invaders(Galaga) 게임 만들기 2021. 3. 26. 12:14
아래의 내용에 이어서 진해응 해보자. designatedroom87.tistory.com/392 3. 플레이어와 에너미의 총알 만들기 아래의 내용에 이어서 만들어 보도록 하자. designatedroom87.tistory.com/391 2. 에너미의 움직임 만들기 아래의 내용 뒤이어서 만들어 보도록 하자. designatedroom87.tistory.com/390 1. 콘솔 화면 구성 & 플레.. designatedroom87.tistory.com 1. CheckCrush 함수 총알과 각 오브젝트들 과의 충돌을 체크하는 함수로, 크게 두 부분이 있어야 한다. 플레이어의 총알과 에너미 와의 충돌 체크와 에너미 총알과 플레이어의 충돌 체크이다. 2. CheckClear 함수 에너미가 모두 죽었는지를 확인하는..
-
3. 플레이어와 에너미의 총알 만들기C,C++로 만드는 간단한 프로젝트/Invaders(Galaga) 게임 만들기 2021. 3. 26. 11:17
아래의 내용에 이어서 만들어 보도록 하자. designatedroom87.tistory.com/391 2. 에너미의 움직임 만들기 아래의 내용 뒤이어서 만들어 보도록 하자. designatedroom87.tistory.com/390 1. 콘솔 화면 구성 & 플레이어의 이동 구현하기 게임의 기본 구성은 아래의 별 피하기 게임과 유사하다. 프로젝트의 개발 환 designatedroom87.tistory.com 총알에 대한 기본적인 내용은 아래와 같다. 약간 특이한 점은 플레이어와 에너미는 총알에 대해서는 같은 배열을 사용한다. 총알 입장에서는 누가 생성한 것인지에 대해서만 정확히 알고 있으면 된다. 1. InitialObject 함수 총알 배열을 초기화 하는 함수로, 배열 내의 총알들을 모두 비어 있는 상태..
-
2. 에너미의 움직임 만들기C,C++로 만드는 간단한 프로젝트/Invaders(Galaga) 게임 만들기 2021. 3. 25. 21:07
아래의 내용 뒤이어서 만들어 보도록 하자. designatedroom87.tistory.com/390 1. 콘솔 화면 구성 & 플레이어의 이동 구현하기 게임의 기본 구성은 아래의 별 피하기 게임과 유사하다. 프로젝트의 개발 환경은 Visual Studio 2008 에서 구현을 하도록 한다. designatedroom87.tistory.com/349?category=913294 1. 콘솔화면 구성 & 그리는 함.. designatedroom87.tistory.com 플레이어에 대한 내용과 같은 부분이 많다. 아래는 에너미에 관련한 부분이다. 1. InitialObject 함수 에너미들을 배치하는 부분을 적어준다. 한 줄에 10기씩을 배치한다. 그리고 초기 이동 방향은 오른쪽 방향으로 이동할 것이다. 2. ..
-
1. 콘솔 화면 구성 & 플레이어의 이동 구현하기C,C++로 만드는 간단한 프로젝트/Invaders(Galaga) 게임 만들기 2021. 3. 25. 20:54
게임의 기본 구성은 아래의 별 피하기 게임과 유사하다. 프로젝트의 개발 환경은 Visual Studio 2008 에서 구현을 하도록 한다. designatedroom87.tistory.com/349?category=913294 1. 콘솔화면 구성 & 그리는 함수 만들기 우리가 만들 게임이다. 콘솔화면 창을 구현할 때 API 함수들을 이용해야 한다. 그리고 콘솔 창에서 좌측상단이 원점이다. 우리가 알고 있는 좌표계와 조금 다르다. 이 점을 반드시 유의해야 한다. designatedroom87.tistory.com 아래의 Console 헤더 파일과 소스 파일의 내용은 위의 별 피하기 게임에서 이미 진행한 내용과 같으므로 추가적인 설명은 생략하도록 한다. 그리고 가로는 x축이고 세로는 y축으로, y값이 커질수..
-
Linked List의 활용 - 파일 입출력 활용C 자료구조/2. 연결 리스트 2021. 3. 24. 21:42
작업 환경은 Visual Studio 2008 우선 아래는 우리가 읽어올 파일의 내용이다. 각 줄은 배우에 대한 정보들이다. 배우에 대한 정보들이 여러 개이므로 우리는 구조체가 필요함을 알 수 있다. 위의 파일은 당연히 프로젝트 폴더 내에 존재해야 한다. 아래의 그림은 이 프로젝트 폴더 내부이다. 아래는 배우에 대한 구조체 정보와 이 정보들을 저장할 때 필요한 변수들이다. 위의 Actor 구조체에서 유심히 봐야할 변수는 MovieFilmCount와 MovieFilmTitle이다. 배우마다 출연작품의 수는 다르다. 위의 파일 내용을 보면 알 수 있다. 그렇기 때문에, 결론적으로 배우의 출연작품의 제목(문자열)을 저장하는 변수인 MovieFilmTitle는 데이터 유형이 이중 포인터가 되어야 한다. 예를 들..