你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 图形图象处理与游戏编程
用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++)

    {

  推荐精品文章

·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录
·2023年10月目录
·2023年9月目录 
·2023年8月目录 

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

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089