C,C++로 만드는 간단한 프로젝트
-
1. 게임 구성하기C,C++로 만드는 간단한 프로젝트/베스킨 라빈스31 게임 2021. 3. 27. 20:31
우선 아래의 프로그램 실행결과를 보도록 하자. 컴퓨터와 유저가 번갈아 가면서 부를 숫자의 개수를 입력 받는다. 즉, 3을 입력하면 숫자 3개를 선택한다는 의미이다. 1부터 31까지의 수가 존재하는데, 31 이상의 수를 부르는 쪽이 게임에서 진다. 즉, 유저가 처음에 3을 입력하면 1,2,3 이렇게 세 개의 숫자를 부르게 된다. 뒤이어서 컴퓨터가 2를 입력하면 4,5 이렇게 두 개의 숫자를 부르는 방식이다. 공통으로 쓸 헤더 파일들을 한데 모아두도록 하자. 이는 common.h 라는 헤더 파일을 하나 만들어서 여기에 정의하도록 하자. 헤더 & 소스 파일
-
5 - (5). 플레이어 클래스를 싱글톤 클래스화 하기C,C++로 만드는 간단한 프로젝트/Invaders(Galaga) 게임 만들기 2021. 3. 27. 11:18
아래의 내용에 이어서 플레이어 클래스를 싱글톤 클래스로 변경하자. designatedroom87.tistory.com/397 5 - (4). Shot 클래스화 하기 아래의 내용을 이어서 진행하자. designatedroom87.tistory.com/396 5 - (3). 에너미들을 관리해주는 매니저 클래스 설계( 싱글톤 클래스 )하기 아래의 내용에 이어서 에너미들을 관리해주는 매니저 클래스 designatedroom87.tistory.com 싱글톤 클래스에 대해서는 앞에서 설명했으므로, 설명은 언급하지 않는다. 아래는 플레이어 클래스가 정의 되어있는 Player 헤더 파일이다. 멤버함수에는 변경한 부분이 없다. 그리고 main 소스 파일에서 변경된 부분은 다음과 같다 . 헤더 & 소스 파일
-
5 - (4). Shot 클래스화 하기C,C++로 만드는 간단한 프로젝트/Invaders(Galaga) 게임 만들기 2021. 3. 26. 21:24
아래의 내용을 이어서 진행하자. designatedroom87.tistory.com/396 5 - (3). 에너미들을 관리해주는 매니저 클래스 설계( 싱글톤 클래스 )하기 아래의 내용에 이어서 에너미들을 관리해주는 매니저 클래스를 만들어 보자. designatedroom87.tistory.com/395 5 - (2). 에너미를 클래스화 하기 아래의 내용에 이어서, 이번에는 에너미를 클래스화 해보 designatedroom87.tistory.com main 소스 파일에 정의된 아래의 내용을 common.h 헤더 파일로 옮기자. 옮기면 아래와 같이 common 헤더 파일의 내용이다. Shot 클래스를 보자. Shot.h 헤더 파일에 정의한다. 총알이 생성될 때, CreateShot 멤..
-
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 함수 총알 배열을 초기화 하는 함수로, 배열 내의 총알들을 모두 비어 있는 상태..