20151118 - WinAPI 일지 엄민웅 (게임 만들기 경우의 수 생각하기) (작성중)
금일 했던 부분은
캐릭터가 이동하는데 앞에 길이 있는 경우 이동 가능하고 벽이 있는 부분은 이동하지 못하게 하도록 경우의 수들을 따져 보는 것
이동 가능한 경우
캐릭터 앞에 길 1가지
캐릭터 앞에 점 1가지
캐릭터 앞에 박스 그리고 다음칸에 길 또는 점 2가지
이동 불가능한 경우
캐릭터 앞에 벽 1가지
캐릭터 앞에 박스 그리고 다음칸에 박스 또는 벽 2가지
if (' ' == ucMap[iYpos][iXpos+1])
{
++iXpos;
stArea.right = iXpos + 1 * XTILE;
}
else if ('.' == ucMap[iYpos][iXpos + 1])
{
++iXpos;
stArea.right = iXpos + 1 * XTILE;
}
else if ('B' == ucMap[iYpos][iXpos + 1])
{
if (' ' == ucMap[iYpos][iXpos + 2])
{
ucMap[iYpos][iXpos+2] = ucMap[iYpos][iXpos+1];
if(' ' == ucStageMap[uiStage][iYpos][iXpos+1])
{
ucMap[iYpos][iXpos + 1] = ' ';
}
else
{
ucMap[iYpos][iXpos + 1] = '.';
}
++iXpos;
stArea.right = iXpos + 2 * XTILE;
}
else if ('.' == ucMap[iYpos][iXpos + 2])
{
ucMap[iYpos][iXpos + 2] = ucMap[iYpos][iXpos + 1];
ucMap[iYpos][iXpos + 1] = '.';
++iXpos;
stArea.right = iXpos + 1 * XTILE;
}
}
ucMap[iYpos][iXpos] = '@';