你好,欢迎来到电脑编程技巧与维护杂志社! [免费注册][请登录 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 图形图象处理与游戏编程
用VC编程迷宫游戏(七)
 

delete []Maze[i];      

    }

    for(i=0;i<ySize+1;i++)

    {

        delete []HWall[i];     

    }

    for(i=0;i<ySize+1;i++)

    {

        delete []VWall[i];     

    }

    return 0;

}

2.在对话框中显示迷宫

    显示迷宫需要在WM_PAINT消息的处理函数中添加代码,在程序中走迷宫的主角是一个小动物,如图4所示,这也是一个emf类型的文件,实现的代码如下:


4 游戏主角

void CMyDlg::OnPaint()

{

 ……           /*省略部分是工程自动生成的代码*/

this->GetClientRect(&rect);    /*获得对话框的客户区参数,赋值给CRect变量rect*/

     rect.left=rect.right/8;           

     rect.right=7*rect.right/8;

     rect.top=rect.bottom/8;

     rect.bottom=7*rect.bottom/8;

     PlayEnhMetaFile(dc.m_hDC,maze.hemf,&rect); /*按比例画出在迷宫中移动的图标*/

     nLeft=rect.left;

     nTop=rect.top;

     nWidth=rect.Width();

     nHeight=rect.Height();

/*以下根据图标移动的路线,在迷宫中显示图标*/

     HDC hdcEmf1=CreateEnhMetaFile(NULL,"emf2.emf",NULL,NULL);

     DrawIcon(hdcEmf1,0,0,HIcon);

     rect2.left=rect.left + nWidth*(maze.current_x)/maze.xSize;

     rect2.right=rect2.left + nWidth/maze.xSize;   

     rect2.top=rect.top + nHeight*(maze.current_y)/maze.ySize ;

     rect2.bottom=rect2.top + nHeight/maze.ySize;

     maze.hemf2=CloseEnhMetaFile(hdcEmf1);

     PlayEnhMetaFile(dc.m_hDC,maze.hemf2,&rect2);

}

  推荐精品文章

·2019年9月目录 
·2019年8月目录
·2019年7月目录
·2019年6月目录
·2019年5月目录
·2019年4月目录    
·2019年3月目录   
·2019年2月目录   
·2019年1月目录  
·探析云计算下应用软件用户数据安全问题
·地理空间集束线可视化表达
·Android智能净水机APP开发(一)
·2018年12月目录  
·springAOP的思想和设计以及实现

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备06048724号,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区长春桥路5号6号楼1209室,邮编:100089