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;
}
Author And Source
이 문제에 관하여(0414 미로탈출), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@1124mw/0414-미로탈출저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)