1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
// fonction qui place un plot dans le tableau
void put_plot(int x,int y)
{
int i,j,w,h;
x=x-41; // x - la bordure à gauche de l'ecran
w=Ysize/24;
h=Xsize/24;
i=(y/h);
j=(x/w);
plateau.tab[i][j].t_plot.plot=1;
plateau.tab[i][j].t_plot.x=x;
plateau.tab[i][j].t_plot.y=y;
plateau.tab[i][j].free=1;
}
// fonction qui dessine les plots à l'ecran correspondant aux cases du tableau possédant un plot
void draw_plots(void)
{
int i,j,x,y;
for(i=0,y=48;i<plateau.size;y+=23,i++)
{
for(j=0,x=55;j<plateau.size;x+=23,j++)
{
if((plateau.tab[i][j].t_plot.plot==1)
draw_circle(6,7,x,y);
}
}
}
// fonction qui dessine un cercle
void draw_circle(float radius,int slices,int x,int y)
{
while(radius>0)
{
glPushMatrix();
glTranslatef(x,Ysize-y,0);
glColor3d(255,0,0);
float step=TWOPI/slices;
float angle;
glBegin(GL_LINE_LOOP);
for(angle=0.0f;angle<TWOPI;angle+=step)
glVertex2f(cos(angle)*radius,sin(angle)*radius);
glEnd();
glPopMatrix();
radius--;
}
} |
Partager