|
■No67397 (774RR さん) に返信
> なるほど。考えてやってみたんですがなぜか経路の座標が表示されません。自分はこれで間違いないとおもっていたのですが何か間違っていることがあるのでしょうか?
//cnt[70][70]=マップに振った歩数が入っている
//NX,NY=ゴールの座標のX座標、Y座標の情報が入っている変数
for (int N=cnt[GoalY][GoalX];N<=0;N--)//Nにゴールの歩数を代入。Nをデクリメント
{
if (N-1==cnt[NY-1][NX]) //もしゴールの座標の上にN-1の情報が入っているのなら
{
hosu_map[NY-1][NX]=N-1; //同じサイズの別の配列の同じ座標にN-1を代入
NY--;
}
else if (N-1==cnt[NY+1][NX])//もしゴールの座標の下に〃
{
hosu_map[NY+1][NX]=N-1;
NY++;
}
else if (N-1==cnt[NY][NX-1])//もしゴールの座標の右に〃
{
hosu_map[NY][NX-1]=N-1;
NX--;
}
else if (N-1==cnt[NY][NX+1])//もしゴールの座標の左に〃
{
hosu_map[NY][NX+1]=N-1;
NX++;
}
}
/*NY、NXをデクリメント、インクリメントしているのは上下左右いずれかの座標に歩数を振ったら
その歩数の振った座標から、またどこにN−1の座標があるか上下左右みなければならないと
思ったからです。*/
|