0414 미로탈출

#include
#include <conio.h>
using namespace std;

int main()
{

//실습.
//	10*10 크기의 맵을 구상.
//	플레이어(시작지점(0,0))가 존재
//	탈출지점이 존재한다.
//	WASD 키입력을 통해 플레이어를 이동시킨다.
//	탈출지점은 (0,0)을 제외하고 랜덤 설정
//	O(플레이어)가 E(탈출구)에 도달하면 "탈출에 성공헀습니다." 프로그램 종료
//	system("cls"); // 화면 지우는 명령어

//맵 초기화
srand(time(NULL));
char map[10][10][3];
int player_x = 0;
int player_y = 0;
int exit_x = rand() % 9 + 1;
int exit_y = rand() % 9 + 1;

//맵 구성
	//플레이어
while (1)
{
	system("cls");
	for (int i = 0; i < 10; i++)
	{
		for (int j = 0; j < 10; j++)
		{
			map[i][j] = '#';
		}
	}
	




	//탈출 지점과 플레이어 지점 비교

	map[player_x][player_y] = 'P';

	map[exit_x][exit_y] = 'E';

	for (int i = 0; i < 10; i++)
	{
		for (int j = 0; j < 10; j++)
		{
			cout << map[i][j];
		} cout << endl;
	}
	cout << "플레이어 좌표 : " << player_x << player_y << endl;
	cout << "탈출구 좌표" << exit_x << exit_y << endl;


	if (player_x == exit_x && player_y == exit_y) // 탈출지점
	{
		cout << "종료되었습니다.";
		break;
	}

	//탈출구

	// 키 움직임
	switch (_getch())
	{
	case 'w':
		player_x -= 1;
		if (player_x < 0)
		{
			player_x = 0;
		}
		break;

	case 'a':
		player_y -= 1;
		if (player_y < 0)
		{
			player_y = 0;
		}
		break;

	case 's':
		player_x += 1;
		if (player_x > 9)
		{
			player_x = 9;
		}
		break;

	case 'd':
		player_y += 1;
		if (player_y > 9)
		{
			player_y = 9;
		}
		break;

	default:
		break;
	}


}
return 0;

}

좋은 웹페이지 즐겨찾기