목차
◆ 알고리즘
◆ 프로그램 상세설명
▶ direction 값 에 따른 이동
◆ 프로그램 소스
◆ 프로그램 상세설명
▶ direction 값 에 따른 이동
◆ 프로그램 소스
본문내용
if(position==2)//위로 이동
{
direction=m_Map.Sensing();
if(direction==4)//아래
{m_Map.MoveDown();
position=4, j--;
}
else if(direction==6)//아래 오른쪽
{m_Map.MoveRight();
position=1, i++;
}
else if(direction==5)//아래 왼쪽
{m_Map.MoveLeft();
position=3, i--;
}
else if(direction==7)//아래 왼쪽 오른쪽
{m_Map.MoveLeft();
position=3, i--;
}
else if(direction==12)//위 아래
{m_Map.MoveUp();
position=2, j++;
}
else if(direction==13)//위 아래 왼쪽
{m_Map.MoveLeft();
position=3, i--;
}
else if(direction==14)//위 아래 오른쪽
{m_Map.MoveUp();
position=2, j++;
}
else if(direction==15)//사거리
{m_Map.MoveLeft();
position=3, i--;
}
}
else if(position==3) //왼쪽 이동
{
direction=m_Map.Sensing();
if(direction==2)//오른쪽
{m_Map.MoveRight();
position=1, i++;
}
else if(direction==3)//왼쪽 오른쪽
{m_Map.MoveLeft();
position=3, i--;
}
else if(direction==6)//아래 오른쪽
{m_Map.MoveDown();
position=4, j--;
}
else if(direction==10)//위 오른쪽
{m_Map.MoveUp();
position=2, j++;
}
else if(direction==7)//아래 왼쪽 오른쪽
{m_Map.MoveDown();
position=4, j--;
}
else if(direction==14)//위 아래 오른쪽
{m_Map.MoveDown();
position=4, j--;
}
else if(direction==11)//위 오른쪽 왼쪽
{m_Map.MoveLeft();
position=3, i--;
}
else if(direction==15)//사거리
{m_Map.MoveDown();
position=4, j--;
}
}
else if(position==4)//아래로 이동
{
direction=m_Map.Sensing();
if(direction==8)//위
{
m_Map.MoveUp();
position=2, j++;
}
else if(direction==12)//위 아래
{m_Map.MoveDown();
position=4, j--;
}
else if(direction==9)//위 왼쪽
{m_Map.MoveLeft();
position=3, i--;
}
else if(direction==10)//위 오른쪽
{m_Map.MoveRight();
position=1, i++;
}
else if(direction==11)//위 왼쪽 오른쪽
{m_Map.MoveRight();
position=1, i++;
}
else if(direction==14)//위 아래 오른쪽
{m_Map.MoveRight();
position=1, i++;
}
else if(direction==13)//위 아래 왼쪽
{m_Map.MoveDown();
position=4, j--;
}
else if(direction==15)//사거리
{m_Map.MoveRight();
position=1, i++;
}
}
}
}
{
direction=m_Map.Sensing();
if(direction==4)//아래
{m_Map.MoveDown();
position=4, j--;
}
else if(direction==6)//아래 오른쪽
{m_Map.MoveRight();
position=1, i++;
}
else if(direction==5)//아래 왼쪽
{m_Map.MoveLeft();
position=3, i--;
}
else if(direction==7)//아래 왼쪽 오른쪽
{m_Map.MoveLeft();
position=3, i--;
}
else if(direction==12)//위 아래
{m_Map.MoveUp();
position=2, j++;
}
else if(direction==13)//위 아래 왼쪽
{m_Map.MoveLeft();
position=3, i--;
}
else if(direction==14)//위 아래 오른쪽
{m_Map.MoveUp();
position=2, j++;
}
else if(direction==15)//사거리
{m_Map.MoveLeft();
position=3, i--;
}
}
else if(position==3) //왼쪽 이동
{
direction=m_Map.Sensing();
if(direction==2)//오른쪽
{m_Map.MoveRight();
position=1, i++;
}
else if(direction==3)//왼쪽 오른쪽
{m_Map.MoveLeft();
position=3, i--;
}
else if(direction==6)//아래 오른쪽
{m_Map.MoveDown();
position=4, j--;
}
else if(direction==10)//위 오른쪽
{m_Map.MoveUp();
position=2, j++;
}
else if(direction==7)//아래 왼쪽 오른쪽
{m_Map.MoveDown();
position=4, j--;
}
else if(direction==14)//위 아래 오른쪽
{m_Map.MoveDown();
position=4, j--;
}
else if(direction==11)//위 오른쪽 왼쪽
{m_Map.MoveLeft();
position=3, i--;
}
else if(direction==15)//사거리
{m_Map.MoveDown();
position=4, j--;
}
}
else if(position==4)//아래로 이동
{
direction=m_Map.Sensing();
if(direction==8)//위
{
m_Map.MoveUp();
position=2, j++;
}
else if(direction==12)//위 아래
{m_Map.MoveDown();
position=4, j--;
}
else if(direction==9)//위 왼쪽
{m_Map.MoveLeft();
position=3, i--;
}
else if(direction==10)//위 오른쪽
{m_Map.MoveRight();
position=1, i++;
}
else if(direction==11)//위 왼쪽 오른쪽
{m_Map.MoveRight();
position=1, i++;
}
else if(direction==14)//위 아래 오른쪽
{m_Map.MoveRight();
position=1, i++;
}
else if(direction==13)//위 아래 왼쪽
{m_Map.MoveDown();
position=4, j--;
}
else if(direction==15)//사거리
{m_Map.MoveRight();
position=1, i++;
}
}
}
}
소개글