请选择 进入手机版 | 继续访问电脑版

推箱子之游戏介绍及游戏地图设计,角色移动

[复制链接]
欣荣 发表于 2021-1-3 12:05:42 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
[code]#include#include#include#include  //getch的头文件//用二维数组做一个舆图/*   用数字形貌   0:清闲   1:墙壁   3:箱子目标地   4:箱子   6:人   7:箱子和目标地重合   9:人站在目标地   在这里弄成一个开始舆图为:   1 1 1 1 1 0 0 0 0 0 0 0   1 0 0 0 1 0 1 1 1 0 0 0   1 0 4 0 1 0 1 1 1 1 1 1   1 0 4 6 1 0 1 0 0 0 3 1   1 1 1 4 1 1 1 0 0 0 3 1   1 1 1 0 0 0 0 0 0 0 3 1   0 1 0 0 0 1 0 0 0 0 0 1   0 1 0 0 0 1 0 0 0 0 0 1   0 1 0 0 0 1 1 1 1 1 1 1   0 1 1 1 1 1 0 0 0 0 0 0    */int   g_map[10][12] = {     //正如上面的数字排序     {1,1,1,1,1,0,0,0,0,0,0,0},     {},     {},     {},     {},     {},     {},     {},     {},     {},            };void   DrapMap();                            //打印舆图POINT    GetGamerPosition()   //获取玩家坐标/*在VS2013版本存在,实在是个结构体   typedef  struct   tagPOINT   {       LONG   x;       LONG   y;    }POINT,*POINT,NEAR*NPPOINT,FAR*LPPOINT;*/void   Up();                 //往上走int  main(){      //设置标题      SetConsoleTitle(L"推箱子");     //弹出框架最上方,白色边最左边写着“推箱子”      //设置窗口巨细      system("mode   con   cols=26   lines=12");      //mode  是修改的意思,con   是控制的意思,cols  是列的意思,lines  是行的意思             //让步伐不绝的执行      while(1)      {             //每循环一次,都要举行清屏处置惩罚,否则打印多个界面            system("cls");            //打印舆图            DrapMap();            //得到一个字符            char  ch = getch();            //getchar和scanf,getch都可以暂时停止while循环            //但getch只需要按需要的键,而不需要回车键即可,举行下一行步伐,字面表达不清楚,可以自己实验            switch(ch)            {                    case&#39;w&#39;:                    UP();            }      }         }//打印舆图,遍历void   DrapMap(){           for(int  i = 0; i < 10;i++)           {               for(int  j=0;j < 12;j++)               {                    switch(gap_map[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");            } }//获取玩家坐标POINT  GetGamerPosition(){     POINT   pos = {-1,-1};  //默认值为-1,表现没有找到     //遍历     for(int  i=0;i
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )