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

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

高时银博客 C++开发 点击: 3,347 次 0 0

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

第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();}

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


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

目前还没有评论。赶快来坐沙发吧。

发表评论