• wordpress CMS主题:ssmay主题 wordpress CMS主题:ssmay主题
  • 首页 > C++开发 > C++与MFC轻松实现:走迷宫小游戏(五)给迷宫布局

    C++与MFC轻松实现:走迷宫小游戏(五)给迷宫布局

    作者: 分类:C++开发 点击: 7,906 次
    wordpress CMS主题:ssmay主题

      扫描下面的二维码,“关注”我的百家号。

      基本工作都做好,现在,我们就是要让人物在迷宫中行走。本节主要来给迷宫布局。

      第1步:定义迷宫数组。

      先声明变量:n , m , k , l ;后面用到。然后在构造函数前添加如下代码:

      int maze[8][8]={         1,1,1,1,1,1,2,1,         //第一行,值为2的元素代表入口         3,0,0,1,0,0,0,1,                 //第二行,值为3的元素代表出口         1,1,0,0,0,1,1,1,                 //第三行1,0,0,1,0,0,0,1,                 //第四行

      1,1,1,1,0,1,1,1,                 //第五行

      1,0,0,0,0,0,0,1,                 //第六行

      1,0,1,0,1,0,0,1,                 //第七行

      1,1,1,1,1,1,1,1

      };

      第2步:定位人物图片的位置。

      在构造函数中添加如下代码:

      for(i=0;i<8;i++)         {                   for(int j=0;j<8;j++)                   {if(maze[i][j]==2) //2为人物位置

      {

      m=i;

      n=j;

      break;

      }

      }

      }

      wall=new CBitmap;

      wall->m_hObject=LoadImage(NULL,"wall.bmp",IMAGE_BITMAP,93,100,LR_LOADFROMFILE);

      第3步:布置迷宫的路径让人物行走。

      右键GameWnd——>add member function (添加函数start() ,在函数中添加如下代码:

      CClientDC dc(this);    mdc->SelectObject(wall);         for (int i=0;i<8;i++)         {for (int j=0;j<8;j++)

      {

      if (maze[i][j]==1) //1是墙壁的位置

      {

      dc.BitBlt(j*93,i*100,93,100,mdc,0,0,SRCCOPY);

      }

      }

      }

      mdc->SelectObject(bitmap[0][0]);

      dc.BitBlt(n*93,m*100,93,100,mdc,0,0,SRCCOPY); //人物所处原始位置

      Start=false;

      第4步:在ONTIMER中添加下面的代码,并在构造函数前定义变量:BOOL Start=true;

      if(Start){ start();}

      到这时,本节就结束,主要实现迷宫的布局,以及人物在原始位置。



      欢迎“关注”我的百家号。

      头条二维码
      加入我的QQ群
      头条二维码
      关注我的百家号

    文章作者:码不停蹄
    本文地址:http://wanlimm.com/7720140111824.html
    版权所有 © 转载时必须以链接形式注明作者和原始出处!

    上一篇:
    下一篇:
    wordpress CMS主题:ssmay主题

    或许你会感兴趣的文章:

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    This site uses Akismet to reduce spam. Learn how your comment data is processed.