OpenGL制作简易地图(一)

本文介绍了使用OpenGL创建简易地图的步骤,包括随机生成黑白方块表示禁行和活动区域,设定红色起点和蓝色终点,并提供了相关代码示例。
摘要由CSDN通过智能技术生成

1.随机生成一张地图,黑方块为禁区,白方块为活动区

2.随机在活动区找两个块,红方块为起点,蓝方块为终点。

3.生成该地图。

4.上CODE.

//alex.shoal@gmail.com
//latest update:2012-06-19
//sourse code location:..\CB_CODE\GL_TREE
#include <windows.h>
#include <time.h>
#include <gl/gl.h>
#define N 50
#define WIDTH 800
#define UNIT 2.0f/N
int MAP[N][N];
LRESULT CALLBACK WindowProc(HWND, UINT, WPARAM, LPARAM);
void EnableOpenGL(HWND hwnd, HDC*, HGLRC*);
void DisableOpenGL(HWND, HDC, HGLRC);
void draw_rectfill()
{
    glColor4f(0.0, 0.0, 0.0, 0.5);// 绘制矩形
    glRectf(-0.2, -0.2, 0.2, 0.2);
    glEnd();

}

void init_field()
{

    for (int i=0; i<N; i++)
        for (int j=0; j<N; j++)
            MAP[i][j]=0;
}
void set_block()
{
    srand(time(NULL));
    for(int i=0; i<800; i++)
    {
        int x=rand()%N;
        int y=rand()%N;
        MAP[x][y]=1;
    }

}

void set_positon()
{

    int num=0;
    srand(time(NULL));
    while (num<2)
    {
        int i=rand()%N;
        int j=rand()%N;
        if(MAP[i][j]==0)
        {
            MAP[i][j]=2+num++; // MAP[][]==2,MEANS THIS IS A START POSITION.

        }


    }



}
void draw_PickPOS()
{
    glColor4f(0.0, 0.0, 0.0, 0.5);// 绘制矩形
    for(int i=0; i<N; i++)
        for (int j=0; j&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值