您的位置:首页 > 科技 > 能源 > 深圳软件定制_广告营销策划是做什么的_太原seo服务_电商seo是什么意思

深圳软件定制_广告营销策划是做什么的_太原seo服务_电商seo是什么意思

2025/2/28 7:32:34 来源:https://blog.csdn.net/2401_87522762/article/details/145059014  浏览:    关键词:深圳软件定制_广告营销策划是做什么的_太原seo服务_电商seo是什么意思
深圳软件定制_广告营销策划是做什么的_太原seo服务_电商seo是什么意思

 

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>//1.绘制游戏地图
void DrawMap(int Map[8][8])  //函数封装,方便使用  
{for (int i = 0; i < 8; i++){for (int j = 0; j < 8; j++){switch (Map[i][j]){case 0:printf("  "); break;//空地case 1:printf("■"); break;//墙壁case 3:printf("☆"); break;//目的地case 4:printf("□"); break;//箱子case 6:printf("♀"); break;//人物case 7:printf("□"); break;//箱子与目的地重合,显示箱子case 9:printf("♀"); break;//人和目的地重合,显示人}}printf("\n");}
}
int main()
{                              //要设置多个关卡,需要用到多维数组int Map[8][8] = {0,0,1,1,1,0,0,0,0,0,1,3,1,0,0,0,0,0,1,0,1,1,1,1,1,1,1,4,0,4,3,1,   //3,4向上  1,3,0,4,6,1,1,1,   //4,4人    4,3向左,4,5向右1,1,1,1,4,1,0,0,   //5,4向下0,0,0,1,3,1,0,0,0,0,0,1,1,1,0,0,};//多次输入,用循环while (1) {//清屏system("cls");  //清屏,需要头文件stdlib.hDrawMap(Map);int count = 0;//计算分数//2.移动角色int i, j;for (i = 0; i < 8; i++){for (j = 0; j < 8; j++){if (Map[i][j] == 6 || Map[i][j] == 9)//只会退出j循环break;}if (Map[i][j] == 6 || Map[i][j] == 9)//9表示人物与目的地重合break;}printf("角色坐标:(%d,%d)\n", i, j);//3.从键盘获取字符,确定人物移动的方位int input = getch();//从键盘那获取字符存储到input中switch (input){case 'w'://判断角色前方是空地0或者是目的地3,表示人物可以向上移动if (Map[i - 1][j] == 0 || Map[i - 1][j] == 3)    //行变列不变,即i-1{//移动角色Map[i - 1][j] += 6;//0+6=6,3+6=9Map[i][j] -= 6;}//判断角色的前方是箱子,或者箱子在目的地else if (Map[i - 1][j] == 4 || Map[i - 1][j] == 7){//箱子前面的内容i-2,若为空地0或者目的地3,表示人物可以箱子推着走if (Map[i - 2][j] == 0 || Map[i - 2][j] == 3){Map[i - 2][j] += 4;//0+4=4  3+4=7Map[i - 1][j] += 2;//4+2=6  7+2=9Map[i][j] -= 6;//6-6=0  9-6=3}}break;case 's'://判断角色后面是空地0或者是目的地3,表示人物可以向下移动if (Map[i + 1][j] == 0 || Map[i + 1][j] == 3)    //行变列不变,即i-1{//移动角色Map[i + 1][j] += 6;//0+6=6,3+6=9Map[i][j] -= 6;}//判断角色的前方是箱子,或者箱子在目的地else if (Map[i + 1][j] == 4 || Map[i + 1][j] == 7){//箱子前面的内容i-2,若为空地0或者目的地3,表示人物可以箱子推着走if (Map[i + 2][j] == 0 || Map[i + 2][j] == 3){Map[i + 2][j] += 4;//0+4=4  3+4=7Map[i + 1][j] += 2;//4+2=6  7+2=9Map[i][j] -= 6;//6-6=0  9-6=3}}break;case 'a'://判断角色左边是空地0或者是目的地3,表示人物可以向左移动if (Map[i][j - 1] == 0 || Map[i][j - 1] == 3)    //行变列不变,即i-1{//移动角色Map[i][j - 1] += 6;//0+6=6,3+6=9Map[i][j] -= 6;}//判断角色的左边是箱子,或者箱子在目的地else if (Map[i][j - 1] == 4 || Map[i][j - 1] == 7){//箱子前面的内容i-2,若为空地0或者目的地3,表示人物可以箱子推着走if (Map[i][j - 2] == 0 || Map[i][j - 2] == 3){Map[i][j - 2] += 4;//0+4=4  3+4=7Map[i][j - 1] += 2;//4+2=6  7+2=9Map[i][j] -= 6;//6-6=0  9-6=3}}break;case 'd'://判断角色右边是空地0或者是目的地3,表示人物可以向右移动if (Map[i][j + 1] == 0 || Map[i][j + 1] == 3)    //行变列不变,即i-1{//移动角色Map[i][j + 1] += 6;//0+6=6,3+6=9Map[i][j] -= 6;}//判断角色的左==右边是箱子,或者箱子在目的地else if (Map[i][j + 1] == 4 || Map[i][j + 1] == 7){//箱子前面的内容i-2,若为空地0或者目的地3,表示人物可以箱子推着走if (Map[i][j + 2] == 0 || Map[i][j + 2] == 3){Map[i][j + 2] += 4;//0+4=4  3+4=7Map[i][j + 1] += 2;//4+2=6  7+2=9Map[i][j] -= 6;//6-6=0  9-6=3}}break;}for (int m = 0; m < 8; m++){for (int n = 0; n < 8; n++){if (Map[m][n] == 7)count++;}}if (count == 4) {system("cls");DrawMap(Map);printf("你过关!!!\n");return 0;}//DrawMap(Map);}//}为while的循环return 0;
}

注:以上代码为推箱子小游戏的最初代码,未配图.

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com