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

MoveToEx(hdcEmf,0,0,NULL);

    LineTo(hdcEmf,STEP*xSize+1,0);

    MoveToEx(hdcEmf,0,0,NULL);

    LineTo(hdcEmf,0,STEP*ySize+1);

    MoveToEx(hdcEmf,STEP*xSize+1,0,NULL);

    LineTo(hdcEmf,STEP*xSize+1,STEP*ySize+1);

    MoveToEx(hdcEmf,0,STEP*ySize+1,NULL);

    LineTo(hdcEmf,STEP*xSize+1,STEP*ySize+1);   /*以上几句画出迷宫的外围*/

/*下面的二重循环根据Maze数组表示的迷宫中各块的连通情况,画出迷宫内部的围墙*/

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

        for(j=1;j<xSize+1;j++)

        {

            int t=abs(Maze[i][j]-Maze[i][j+1]);

            if(!(t<=1||(t-1000)==Maze[i][j]||t-1000==Maze[i][j+1]))

            {

                MoveToEx(hdcEmf,j*STEP,i*STEP-STEP,NULL);

                LineTo(hdcEmf,j*STEP,i*STEP);

                if (!VWall[j][i-1]) VWall[j][i-1]=1;

            }

            t=abs(Maze[i][j]-Maze[i+1][j]);

            if(!(t<=1||(t-1000)==Maze[i][j]||t-1000==Maze[i+1][j]))

            {

                MoveToEx(hdcEmf,j*STEP-STEP,i*STEP,NULL);

                LineTo(hdcEmf,j*STEP,i*STEP);

                if (!HWall[j-1][i]) HWall[j-1][i]=1;

            }

        }

    DeleteObject(SelectObject(hdcEmf,GetStockObject(BLACK_PEN))); 

    SelectObject(hdcEmf,GetStockObject(WHITE_PEN));

    MoveToEx(hdcEmf,STEP,0,NULL);

    LineTo(hdcEmf,2*STEP,0);

    MoveToEx(hdcEmf,STEP*(xSize-2),STEP*ySize,NULL);

    LineTo(hdcEmf,STEP*(xSize-1),STEP*ySize);  

    DeleteObject(SelectObject(hdcEmf,GetStockObject(WHITE_PEN)));

    hemf=CloseEnhMetaFile(hdcEmf);      /*释放emf文件的句柄*/

    return TRUE;

}

函数int DestroyMaze(),用于销毁迷宫,释放内存,代码如下:

int CMaze::DestroyMaze()

{

    int i;

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

    {

  推荐精品文章

·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