オブジェクトの位置を含むテキスト ファイルから配列を読み込んだところ、次のようになりました。
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 の場合 (オブジェクトがプレイヤーによって選択された場合)、オブジェクトの描画をスキップしたいと考えています。これどうやってするの?