친구가 미로찾기를 구현한다고 해서 이렇게 프로그램을 코딩했는데.... 제가 설명을 잘 못들었는
지 무슨 알고리즘인지 전혀 모르겠습니다. 고수님들이 보시구 어떻게 해야할지 가르쳐 주세요.
어디를 어떻게 손봐야 할 지 감이 안오네요.... 안에 주석은 달려있는데.., 고수님덜.. 도와주
세욥~~ 멀 보구 한 건지 잘 모르겟는데.. 길찾기라고도 한다구 그러던데요... 고수님들 도와주세여~~
#include <stdio.h>
class CStack
{
CStack* m_pNext;
int m_n;
public:
CStack(void) { m_pNext = NULL; m_n = 0; }
CStack(int n) { m_pNext = NULL; m_n = n; }
void Push(int n);
int Pop(int& n);
void Clear(void);
};
void CStack::Push(int n)
{
CStack* pObject = new CStack(n);
if(m_pNext) {
pObject->m_pNext = m_pNext;
m_pNext = pObject;
}
else {
m_pNext = pObject;
}
}
/*
int CStack::Pop(int& n)
//리턴값: 0 실패(emtpy) 1: 성공
{
}
*/
// 5 은 장애물
// 6 은 길
// 7 시작점
// 8 은 끝점(목표..)
// 4 지나온 길
int map[10][10] =
{
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, //지훈아. 이게 지도야
5, 6, 6, 6, 5, 6, 6, 6, 6, 5,
5, 6, 5, 5, 5, 6, 5, 5, 6, 5,
5, 4, 5, 5, 5, 6, 5, 6, 6, 5,
5, 4, 5, 5, 5, 6, 6, 6, 6, 5,
5, 4, 6, 6, 5, 5, 6, 5, 6, 5,
5, 6, 5, 5, 5, 5, 6, 5, 6, 5,
5, 6, 6, 6, 6, 6, 6, 5, 6, 5,
5, 7, 5, 5, 5, 5, 5, 5, 8, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
};
/*
int nStartX;
int nStartY;
int SearchStart(void)
// 리턴값: 1: 성공 0:실패
{
}
int nEndX;
int nEndY;
int SearchEnd(void)
{
}
*/
void PrintMap(void)
{
for(int y = 0 ; y < 10 ; y ++) {
for(int x = 0 ; x < 10 ; x ++) {
switch(map[y][x]) {
case 4:
printf("@");
break;
case 5:
printf("+");
break;
case 6:
printf(" ");
break;
case 7:
printf("S");
break;
case 8:
printf("T");
break;
}
}
printf("\n");
}
}
void main(void)
{
PrintMap();
}
|