티스토리 뷰

마리오 게임을 구현해 보았다. 유튜브를 참고하였고, 내가 수정한 부분들도 있다. 유튜브 링크는: 

https://www.youtube.com/watch?v=nD5OuMdS9FU 이다.

 

참고로 윈도우10 비주얼스튜디오19 에서 구현하였다.

 

구현한 영상은 다음과 같다:

 

우선 Core.h 이다.

#pragma once
#include "value.h"

class CCore
{
private:
	CCore();
	~CCore();
	static CCore* m_pInst;
	int OutputMenu();
public:
	static CCore* GetInst();
	static void DestroyInst();
	bool Init();
	void Run();
};

Core.cpp는 다음과 같다: 

#include "Core.h"
#include "MapManager.h"
#include "ObjectManager.h"
#include "Player.h"

CCore* CCore::m_pInst = NULL;

CCore::CCore() {

}

CCore::~CCore() {
	CMapManager::DestroyInst();
	CObjectManager::DestroyInst();
}

CCore* CCore::GetInst() {
	if (!m_pInst)
		m_pInst = new CCore;
	return m_pInst;
}

void CCore::DestroyInst() {
	SAFE_DELETE(m_pInst);
}

bool CCore::Init() {
	if (!CMapManager::GetInst()->Init())
		return false;
	if (!CObjectManager::GetInst()->Init())
		return false;
	return true;
}

void CCore::Run() {
	while (true)
	{
		int iStage = OutputMenu();
		if (iStage == 4)
			break;
		else if (iStage == 0)
			continue;
		CMapManager::GetInst()->Run(iStage - 1);
	}
}

int CCore::OutputMenu() {
	system("cls");
	cout << "     <<마리오 게임>>" << endl;
	cout << "- 왼쪽 이동: 왼쪽 방향키" << endl;
	cout << "- 오른쪽 이동: 오른쪽 방향키" << endl;
	cout << "- 점프: 윗방향키" << endl;
	cout << "- 플레이 중 종료하기: e" << endl << endl;
	cout << "1. 스테이지1" << endl;
	cout << "2. 스테이지2" << endl;
	cout << "3. 스테이지3" << endl;
	cout << "4. 종료" << endl;
	cout << "번호를 입력하세요: ";
	int iInput = InputInt();
	while (iInput < 1 || iInput > 4) {
		return 0;
	}
	return iInput;
}

 

참고로 맵은 텍스트 파일로 만드는데, 다음과 같다:

0은 벽, 1은 공백, 2는 시작, 3은 도착, 4는 코인이다. 10X50 개의 숫자들이다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
TAG
more
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함