这是我第一次写博客,今天学了C语言游戏中地图中的移动。因为地图是2维数组制作,所以对游戏人物做个定位。如图
int map[MAP_WIDTH][MAP_WIDTH]={
{1,1,1,1,1,1,1,1,1,1},{2,0,0,0,0,1,1,1,1,1},
{1,1,1,1,0,1,1,1,1,1},
{1,1,1,1,0,0,1,1,1,1},
{1,1,1,1,1,0,0,0,0,1},
{1,1,1,1,1,1,1,0,1,1},
{1,1,1,1,1,1,0,0,0,1},
{1,1,1,1,1,1,1,0,0,1},
{1,1,1,1,1,1,0,1,0,4},
{1,1,1,1,1,1,1,1,1,1}
};
int rolex=0, roley=1;
1代表墙,2代表人物,34代表怪物,0代表通道;
设置一些键位,通过条件控制人物移动如
else if(m=='d'){
// printf("向右移动");
// Sleep(WAIT2);
//首先判断是否能移动到新的位置
int tmp=map[roley][rolex+1]; //获取到角色后面的一个位置。
if(tmp==1){//不能撞墙,不移动
}else if(tmp==0){//空白区域,可以移动
map[roley][rolex]=0;
map[roley][rolex+1]=2;//把当前人物角色后面一个位置设置成角色的移动后位置
rolex++;
}else if(tmp==3){//打小怪
}else if(tmp==4){//打boss
}