Souci trop de vitesse en C
yann
-
dubcek Messages postés 18789 Date d'inscription Statut Contributeur Dernière intervention -
dubcek Messages postés 18789 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai un petit problême de vitesse de tracé en C.
J'utilise une fonction pseudo-aléatoire à l'intérieur d'une boucle pour désigner la couleur de mes dessins mais le dessin s'effectue trop vite, mon programme n'a donc pas le temps de charger une nouvelle couleur? Voyez-vous même:
void Dessinejeu(void)
{
int i,j;
for(i=0;i<NL-9;i++)
{
switch (i%2)
{
case 0:
for(j=0;j<NC;j++)
{
couleur();
CanvasDrawArc (panelHandle, PANEL_CANVAS, MakeRect(i*(NP-4),j*NP,NP,NP), 0, 3600, VAL_DRAW_INTERIOR); /*Vous l'aurez compris je programme un petit jeu
}
break;
case 1:
for(j=0;j<NC-1;j++)
{
couleur();
CanvasDrawArc (panelHandle, PANEL_CANVAS, MakeRect(i*(NP-4),(j*NP)+12,NP,NP) ,0,3600,VAL_DRAW_INTERIOR);
}
break;
}
}
}
//Tente de donner une couleur aléatoire à chaque case, basée sur le temps
void couleur(void)
{
int a;
srand((unsigned)time(NULL));
a = ((int)((int)NCOLOR*(float)rand()/(float)RAND_MAX));
switch (a) /*Choix des différentes couleurs
{
case 0:
SetCtrlAttribute (panelHandle, PANEL_CANVAS,ATTR_PEN_FILL_COLOR,JAUNE);
break;
case 1:
SetCtrlAttribute (panelHandle, PANEL_CANVAS,ATTR_PEN_FILL_COLOR,ROUGE);
break;
case 2:
SetCtrlAttribute (panelHandle, PANEL_CANVAS,ATTR_PEN_FILL_COLOR,NOIR);
break;
case 3:
SetCtrlAttribute (panelHandle, PANEL_CANVAS,ATTR_PEN_FILL_COLOR,VIOLET);
break;
case 4:
SetCtrlAttribute (panelHandle, PANEL_CANVAS,ATTR_PEN_FILL_COLOR,ROSE);
break;
case 5:
SetCtrlAttribute (panelHandle, PANEL_CANVAS,ATTR_PEN_FILL_COLOR,BLEU);
break;
case 6 :
SetCtrlAttribute (panelHandle, PANEL_CANVAS,ATTR_PEN_FILL_COLOR,VERT);
break;
}
}
J'ai un petit problême de vitesse de tracé en C.
J'utilise une fonction pseudo-aléatoire à l'intérieur d'une boucle pour désigner la couleur de mes dessins mais le dessin s'effectue trop vite, mon programme n'a donc pas le temps de charger une nouvelle couleur? Voyez-vous même:
void Dessinejeu(void)
{
int i,j;
for(i=0;i<NL-9;i++)
{
switch (i%2)
{
case 0:
for(j=0;j<NC;j++)
{
couleur();
CanvasDrawArc (panelHandle, PANEL_CANVAS, MakeRect(i*(NP-4),j*NP,NP,NP), 0, 3600, VAL_DRAW_INTERIOR); /*Vous l'aurez compris je programme un petit jeu
}
break;
case 1:
for(j=0;j<NC-1;j++)
{
couleur();
CanvasDrawArc (panelHandle, PANEL_CANVAS, MakeRect(i*(NP-4),(j*NP)+12,NP,NP) ,0,3600,VAL_DRAW_INTERIOR);
}
break;
}
}
}
//Tente de donner une couleur aléatoire à chaque case, basée sur le temps
void couleur(void)
{
int a;
srand((unsigned)time(NULL));
a = ((int)((int)NCOLOR*(float)rand()/(float)RAND_MAX));
switch (a) /*Choix des différentes couleurs
{
case 0:
SetCtrlAttribute (panelHandle, PANEL_CANVAS,ATTR_PEN_FILL_COLOR,JAUNE);
break;
case 1:
SetCtrlAttribute (panelHandle, PANEL_CANVAS,ATTR_PEN_FILL_COLOR,ROUGE);
break;
case 2:
SetCtrlAttribute (panelHandle, PANEL_CANVAS,ATTR_PEN_FILL_COLOR,NOIR);
break;
case 3:
SetCtrlAttribute (panelHandle, PANEL_CANVAS,ATTR_PEN_FILL_COLOR,VIOLET);
break;
case 4:
SetCtrlAttribute (panelHandle, PANEL_CANVAS,ATTR_PEN_FILL_COLOR,ROSE);
break;
case 5:
SetCtrlAttribute (panelHandle, PANEL_CANVAS,ATTR_PEN_FILL_COLOR,BLEU);
break;
case 6 :
SetCtrlAttribute (panelHandle, PANEL_CANVAS,ATTR_PEN_FILL_COLOR,VERT);
break;
}
}
A voir également:
- Souci trop de vitesse en C
- Test vitesse pc - Guide
- Vitesse du processeur - Guide
- Augmenter vitesse pc windows 10 - Guide
- Test vitesse ssd - Guide
- Modifier vitesse video iphone - Guide