Problemas con las BGI
Hola, gracias de antemano, quería saber si me podríais decir otra forma de poner este código...
int dado(void)
{
int tirada;
int gdriver=VGA;
int gmode=VGAHI;
initgraph(&gdriver,&gmode,"c:\\tc\\bgi");
do{
clearviewport();
setcolor(WHITE);
rectangle(240,160,400,320);
setfillstyle(SOLID_FILL,WHITE);
floodfill(281,241,WHITE);
tirada=0;
tirada=(rand()%6)+1;
switch(tirada)
{
case 1:
{
setcolor(BLACK);
circle(320,240,15);
setfillstyle(SOLID_FILL,BLACK);
floodfill(320,240,BLACK);
break;
}
case 2:
{
setcolor(BLACK);
setfillstyle(SOLID_FILL,BLACK);
circle(360,200,15);
circle(280,280,15);
floodfill(360,200,BLACK);
floodfill(280,280,BLACK);
break;
}
case 3:
{
setcolor(BLACK);
setfillstyle(SOLID_FILL,BLACK);
circle(360,200,15);
circle(280,280,15);
circle(320,240,15);
floodfill(360,200,BLACK);
floodfill(280,280,BLACK);
floodfill(320,240,BLACK);
break;
}
case 4:
{
setcolor(BLACK);
setfillstyle(SOLID_FILL,BLACK);
circle(360,200,15);
circle(280,280,15);
circle(280,200,15);
circle(360,280,15);
floodfill(360,200,BLACK);
floodfill(280,280,BLACK);
floodfill(280,200,BLACK);
floodfill(360,280,BLACK);
break;
}
case 5:
{
setcolor(BLACK);
setfillstyle(SOLID_FILL,BLACK);
circle(320,240,15);
circle(360,200,15);
circle(280,280,15);
circle(280,200,15);
circle(360,280,15);
floodfill(320,240,BLACK);
floodfill(360,200,BLACK);
floodfill(280,280,BLACK);
floodfill(280,200,BLACK);
floodfill(360,280,BLACK);
break;
}
case 6:
{
setcolor(BLACK);
setfillstyle(SOLID_FILL,BLACK);
circle(280,240,15);
circle(360,240,15);
circle(360,200,15);
circle(280,280,15);
circle(280,200,15);
circle(360,280,15);
floodfill(360,200,BLACK);
floodfill(280,280,BLACK);
floodfill(280,200,BLACK);
floodfill(280,240,BLACK);
floodfill(360,240,BLACK);
floodfill(360,280,BLACK);
break;
}
}
delay(300);
}while(!kbhit());
fflush(stdin);
delay(900);
closegraph();
return tirada;
}
Es un dado que va cambiando hasta que se pulsa una tecla, pero cuando ejecuto la rutina varias veces en un parchís que estoy desarrollando se ralentiza he incluso sale del bucle sin pulsar tecla... No se que puede ser, muchas gracias ;)
int dado(void)
{
int tirada;
int gdriver=VGA;
int gmode=VGAHI;
initgraph(&gdriver,&gmode,"c:\\tc\\bgi");
do{
clearviewport();
setcolor(WHITE);
rectangle(240,160,400,320);
setfillstyle(SOLID_FILL,WHITE);
floodfill(281,241,WHITE);
tirada=0;
tirada=(rand()%6)+1;
switch(tirada)
{
case 1:
{
setcolor(BLACK);
circle(320,240,15);
setfillstyle(SOLID_FILL,BLACK);
floodfill(320,240,BLACK);
break;
}
case 2:
{
setcolor(BLACK);
setfillstyle(SOLID_FILL,BLACK);
circle(360,200,15);
circle(280,280,15);
floodfill(360,200,BLACK);
floodfill(280,280,BLACK);
break;
}
case 3:
{
setcolor(BLACK);
setfillstyle(SOLID_FILL,BLACK);
circle(360,200,15);
circle(280,280,15);
circle(320,240,15);
floodfill(360,200,BLACK);
floodfill(280,280,BLACK);
floodfill(320,240,BLACK);
break;
}
case 4:
{
setcolor(BLACK);
setfillstyle(SOLID_FILL,BLACK);
circle(360,200,15);
circle(280,280,15);
circle(280,200,15);
circle(360,280,15);
floodfill(360,200,BLACK);
floodfill(280,280,BLACK);
floodfill(280,200,BLACK);
floodfill(360,280,BLACK);
break;
}
case 5:
{
setcolor(BLACK);
setfillstyle(SOLID_FILL,BLACK);
circle(320,240,15);
circle(360,200,15);
circle(280,280,15);
circle(280,200,15);
circle(360,280,15);
floodfill(320,240,BLACK);
floodfill(360,200,BLACK);
floodfill(280,280,BLACK);
floodfill(280,200,BLACK);
floodfill(360,280,BLACK);
break;
}
case 6:
{
setcolor(BLACK);
setfillstyle(SOLID_FILL,BLACK);
circle(280,240,15);
circle(360,240,15);
circle(360,200,15);
circle(280,280,15);
circle(280,200,15);
circle(360,280,15);
floodfill(360,200,BLACK);
floodfill(280,280,BLACK);
floodfill(280,200,BLACK);
floodfill(280,240,BLACK);
floodfill(360,240,BLACK);
floodfill(360,280,BLACK);
break;
}
}
delay(300);
}while(!kbhit());
fflush(stdin);
delay(900);
closegraph();
return tirada;
}
Es un dado que va cambiando hasta que se pulsa una tecla, pero cuando ejecuto la rutina varias veces en un parchís que estoy desarrollando se ralentiza he incluso sale del bucle sin pulsar tecla... No se que puede ser, muchas gracias ;)
2 respuestas
Respuesta de mojadita
1
Respuesta de shakarc
1