我正在开发一个 openGL 项目,而我的 rand 函数没有给我足够大的随机范围。我的任务是编写一个钻石程序,其中一颗钻石位于屏幕中心,5 颗随机放置在屏幕上的其他位置。正在发生的事情是我的中心钻石在它应该在的位置,而其他五颗正在与中心左侧的一小部分随机排列在一起。我已经包含了绘制钻石的功能。
void myDisplay(void)
{
srand(time(0));
GLintPoint CenterPoint;
int const size = 20;
CenterPoint.x = screenWidth / 2;
CenterPoint.y = screenHeight / 2;
glClear(GL_COLOR_BUFFER_BIT);
drawDiamond(CenterPoint, size);
for (int i = 0; i < 5; i++)
{
GLfloat x = rand() % 50 + 10;
GLfloat y = rand() % 200 + 100;
GLfloat size = rand() % 100;
GLintPoint diam = {x,y};
drawDiamond(diam, size);
}
如果需要更多代码,请告诉我,我会编辑。有人对我如何纠正这个有任何想法吗?我已经“玩弄”了 rand() 函数的数字,实际上似乎并没有做太多事情。它们似乎仍然聚集在屏幕上的不同点。我很感激帮助。以防万一有人需要知道,我在 VS2012 中创建它。