#include"DxLib.h"
int main(void)
{
ChangeWindowMode(TRUE);
SetDrawScreen(DX_SCREEN_BACK);
if(DxLib_Init()==-1)
return -1;
int x=10,y=10,cir_color;//円の座標と色
int map_color;
int i,j;
int map[5][5]={{0,0,1,1,0},//ダンジョン形
{0,1,0,0,0},
{0,1,1,0,1},
{0,0,0,0,1},
{1,1,1,0,1}};
while(1){
cir_color=GetColor(0,0,255);
map_color=GetColor(255,255,255);
ProcessMessage();
/*-------------------------------------
キャラクターの移動処理
---------------------------------------*/
if(CheckHitKey(KEY_INPUT_UP)==1)
y--;
else if(CheckHitKey(KEY_INPUT_DOWN)==1){
y++;
}
else if(CheckHitKey(KEY_INPUT_RIGHT)==1){
if(map[y][x+1]!=1)
x++;
}
else if(CheckHitKey(KEY_INPUT_LEFT)==1)
x--;
ClearDrawScreen();
//map描写
DrawCircle(x,y,8,cir_cr,TRUE);
for(i=0;i<5;i++){
for(j=0;j<5;j++){
if(map[j][i]==1)
DrawBox(i*20,j*20,i*20+20,j*20+20,box_cr,TRUE);
}
}
ScreenFlip();
}
WaitKey();
DxLib_End();
return 0;
}
この円を壁にめり込まないようにしたいのですがどのようにすればいいのかわかりません。
ご回答よろしくおねがいします。
まだ初心者なのでコードに無駄な部分、汚い部分がありましたらご指摘お願いします。
※管理人がcodeタグを修正しました。