我从一个包含对象位置的文本文件中加载了一个数组,它看起来像这样:
0,0,0,5
0,5,0,0
0,0,5,0
0,5,5,0
该对象如下所示:
struct object
{
int x, y, value;
}
其中 x,y 是坐标,值是 1 或 0(它告诉对象是否被“拾取”,所有对象的开头都为 1)。对象存储在数组中object obj_array[5]
。
为了绘制它们,我使用这个函数:(BOARD_Y 和 BOARD_Y 是数组的大小,这里是 4x4)
void draw_board(){
for (int iy = 0; iy < BOARD_Y; iy++) {
for (int ix = 0; ix < BOARD_X; ix++) {
if ( (board[iy][ix] == 5) )
{
glPushMatrix();
glTranslatef( ix, iy, 0 );
glutSolidCube(1);
glPopMatrix();
}
}
}
}
它完美地绘制了所有这些。但是我想跳过绘制一个对象,如果它的值为 0(对象被玩家拾取)。我怎样才能做到这一点?