• wordpress CMS主题:ssmay主题wordpress CMS主题:ssmay主题
  • 首页 > C++开发 > C++与MFC轻松实现:走迷宫小游戏(六)人物在迷宫中行走

    C++与MFC轻松实现:走迷宫小游戏(六)人物在迷宫中行走

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

      前面,我们已经将迷宫布置好,人物也在入口处了。

      本节我们就来实现人物在迷宫中行走的功能。

      把前面在ONKEYDOWN里的所有代码改成下面的代码:

       

       

       

       

      CClientDC dc(this);dc.BitBlt(n*93+x,m*100+y,93,100,mdc,0,0,WHITENESS);if(nChar==VK_DOWN){y+=100;

      k=(n*93+x)/93;

      l=(m*100+y)/100;

      if(maze[l][k]==1)

      {

      y-=100;

      }

      if(dir==0)

      {

      index++;

      if(index==4)

      {

      index=0;

      }

      }

      else

      {

      index=0;

      dir=0;

      }

      }

      if(nChar==VK_UP)

      {

      y-=100;

      k=(n*93+x)/93;

      l=(m*100+y)/100;

      if(maze[l][k]==1)

      {

      y+=100;

      }

      if(dir==3)

      {

      index++;

      if(index==4)

      {

      index=0;

      }

      }

      else

      {

      index=0;

      dir=3;

      }

      }

      if(nChar==VK_RIGHT)

      {

      x+=93;

      k=(n*93+x)/93;

      l=(m*100+y)/100;

      if(maze[l][k]==1)

      {

      x-=93;

      }

      if(dir==2)

      {

      index++;

      if(index==4)

      {

      index=0;

      }

      }

      else

      {

      index=0;

      dir=2;

      }

      }

      if(nChar==VK_LEFT)

      {

      x-=93;

      k=(n*93+x)/93;

      l=(m*100+y)/100;

      if(maze[l][k]==1)

      {

      x+=93;

      }

      if(dir==1)

      {

      index++;

      if(index==4)

      {

      index=0;

      }

      }

      else

      {

      index=0;

      dir=1;

      }

      }

      k=(n*93+x)/93;

      l=(m*100+y)/100;

      if(maze[l][k]==3)

      {

      dc.TextOut(120,350,"走出去了!");

      }

      mdc->SelectObject(bitmap[dir][index]);

      dc.BitBlt(n*93+x,m*100+y,93,100,mdc,0,0,SRCCOPY);

      这样,我们就完了人物在迷宫中行走,只要我们按下向下的键,人物就会向下走;同理,按下向上、向左、向右的键,可以达到相应的行走,并且,一旦前面是墙壁,人物就走不进去,只有在不是墙壁的地方才能达到行走的目的。到这里,整个迷宫行走游戏就全部完成。下一节,我们会对迷宫行径实现回放功能。

    文章作者:高时银博客
    本文地址:http://wanlimm.com/7720140112844.html
    本文时间:2014-01-12 09:19:40
    版权所有 © 转载时必须以链接形式注明作者和原始出处!

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

    或许你会感兴趣的文章:

    发表评论

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

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