摘要:
void initData(){ int i, j; //加载数据时让用户等待,一般情况加载数据比较快 printf("游戏加载中,请稍后........."); //遍历地图中的数据 for(i = 0; i < HEIGHT; i++){ for(j = 0; j < WIDTH; j++){ 阅读全文
摘要:
这个函数内容有点多,想讲一下大概思路: 向上移有两种情况1、前面为空白 这种情况有两个步骤 (1)将人当前的位置设置为空白(0), (2)再讲人前面的位置设置为人(2)2、前面为箱子 当前面为箱子时有三种情况 1、箱子前面为空白 移动人和箱子,这个操作有三个步骤 (1)将人当前位置设置为空(0) ( 阅读全文
摘要:
这里大致都和上面一样,就是在记录左边坐标时,应该应该是lx = x - 1。 void moveLeft(){ //定义变量存放人物左边的坐标 int lx, ly; //当左边没有元素时,直接return if(x == 0){ return; } //记录左边坐标 lx = x - 1; ly 阅读全文
摘要:
这里在判断边界时,判断的是 y == HEIGHT - 1。 void moveDown(){ //定义变量存放人物下方的坐标 int dx, dy; //当下方没有元素时,直接return if(y == HEIGHT - 1){ return; } //记录下方坐标 dx = x; dy = y 阅读全文
摘要:
接下来我们一个一个函数来分析。 1、main函数int main(int argc, char *argv[]) { char direction; //存储键盘按的方向 initData(); //初始化一些数据 //开始游戏的循环,这里是个死循环,每按一次按钮循环一次 while(1){ //每 阅读全文