easyx随机生成障碍
时间: 2023-06-13 19:02:28 浏览: 108
Obstacle-Map:该对象创建一个随机的障碍物图(混合),如果存在(0 <邻居障碍物<= MAX_NEIGHBOURS),则障碍物的生成率为100%,并且动态概率随所放置的障碍物数量呈指数下降。 这样可以在O(rows * cols)时间保证中实现非常好的障碍物分配
可以使用随机数生成障碍物的位置,以下是一个简单的示例代码:
```C++
#include <graphics.h>
#include <time.h>
int main()
{
initgraph(640, 480);
// 随机数种子
srand((unsigned)time(NULL));
// 障碍物数量
int obstacle_count = 10;
// 障碍物大小
int obstacle_size = 30;
// 障碍物颜色
COLORREF obstacle_color = RGB(255, 0, 0);
// 随机生成障碍物位置
for (int i = 0; i < obstacle_count; i++)
{
int x = rand() % (getwidth() - obstacle_size);
int y = rand() % (getheight() - obstacle_size);
// 绘制障碍物
setfillcolor(obstacle_color);
fillrectangle(x, y, x + obstacle_size, y + obstacle_size);
}
getch();
closegraph();
return 0;
}
```
这段代码使用了 `srand()` 函数设置随机数种子,然后使用 `rand()` 函数生成随机数来确定障碍物的位置。绘制障碍物使用了 `fillrectangle()` 函数。如果需要更复杂的障碍物形状,可以使用其他的绘图函数来实现。
阅读全文