#include <iostream>
#include <Windows.h>
using namespace std;
void main(){
char arr[7][5] = {
{ ' ',' ',' ','*',' ' },
{ '*','*',' ','*',' ' },
{ ' ',' ',' ','*',' ' },
{ ' ','*',' ',' ',' ' },
{ ' ',' ','*',' ','*' },
{ ' ','*','*',' ',' ' },
{ ' ',' ','*',' ',' ' },
};
int x = 0, y = 0, i = 0, j = 0;
char move;
//위(w) : 행의 좌표 --
//아래(s) : 행의 좌표 ++
//왼쪽(a) : 열의 좌표 --
//오른쪽(d) : 열의 좌표 ++
//맵 밖으로 못 나가게 예외 처리
//벽을 만났을 경우 위치 이동(x)
while (true) {
cout << "-----현재 좌표-----\n";
cout << "x : " << x << " , y : " << y << endl;
arr[x][y] = 'p';
for (i = 0; i < sizeof(arr) / sizeof(arr[i]); i++) {
for (j = 0; j < sizeof(arr[i]); j++) {
cout << arr[i][j] << " ";
} cout << endl;
}
cin >> move;
switch (move) {
case 'w':
x--;
if (x<0 || arr[x][y] == '*') x++;
arr[x + 1][y] = ' ';
break;
case 's':
x++;
if (x>6 || arr[x][y] == '*') x--;
arr[x - 1][y] = ' ';
break;
case 'a':
y--;
if (y<0 || arr[x][y] == '*') y++;
arr[x][y+1] = ' ';
break;
case 'd':
y++;
if (y>4 || arr[x][y] == '*') y--;
arr[x][y-1] = ' ';
break;
default:
break;
}
system("cls"); //콘솔창 초기화
}//end
}
댓글 없음:
댓글 쓰기