基本信息
源码名称:C语言推箱子win控制台
源码大小:5.67KB
文件格式:.c
开发语言:C/C++
更新时间:2020-11-30
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

输入WASD控制人物移动方向,R重置本关卡。

用函数得到人物在输入方向前的第一个和第二个元素的坐标,隐去了在判断是否可以移动时有关WASD的具体细节。

//ij作为全局变量,指示人物的坐标

int i,j;

//得到人物在输入的移动方向前的第一个和第二个元素的坐标

int getx(char ch,int a){
switch(ch){
case 'w':return i-a;
case 's':return i a;
case 'a':
case 'd':return i;
}
return 0;
}
int gety(char ch,int a){
switch(ch){
case 'w':
case 's':return j;
case 'a':return j-a;
case 'd':return j a;
}
return 0;
}

//得到人物在按键方向前的第一个和第二个元素的坐标
int x1=getx(ch,1),x2=getx(ch,2),y1=gety(ch,1),y2=gety(ch,2);

//用指针指向人物在按键方向前的第一个和第二个元素,以备使用和修改
enum item *this=&map[i][j],*next1=&map[x1][y1],*next2=&map[x2][y2];

//这样在判断是否可以移动、怎样改变地图元素时,隐去了WASD的细节。