Problemas con las BGI
Gracias de antemano, tengo un problema, estoy haciendo un parchís entonces quiero comprobar las posiciones de las fichas en el tablero, pero al hacer un bucle para comprobarlo, solo me deja comprobar 12 o 13 posiciones, cuando llego a esta ultima me dice que inicialice las BGI (cosa que es absurda porque en las 11 anteriores no me ha dado error)... Os pongo el código por si os sirve de ayuda, MUCHÍSIMAS GRACIAS :D:D
Este seria el código:
#include<ficha.h>
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
int pos[]={347,353,347,340,347,329,347,318,347,307,347,296,347,285,347,274, 354,268, 365,268, 376,268, 387,268, 398,268, 409,268, 420,268, 433,268, 433,213, 420,213, 409,213, 398,213, 387,213, 376,213, 365,213, 355,213, 348,206, 348,195, 348,184, 348,173, 348,162, 348,151, 348,140, 348,127, 293,127, 293,140, 293,151, 293,162, 293,173, 293,184, 293,195, 293,206, 286,212, 275,212, 264,212, 253,212, 242,212, 231,212, 220,212, 207,212, 207,267, 220,267, 231,267, 242,267, 253,267, 264,267, 275,267, 286,267, 292,274, 292,285, 292,296, 292,307, 292,318, 292,329, 292,340, 292,353};
void main(void)
{
int x,y;
x=0;
y=0;
for( ; ; )
{
y=x+1;
ficha_azul(pos[x],pos[y]);
getch();
x=x+2;
}
}
//funcion ficha azul dentro de FICHA.H
void ficha_azul(int x, int y)
{
int gdriver=DETECT;
int gmode;
initgraph(&gdriver,&gmode,"c:\\tc\\bgi");
setcolor(WHITE);
setfillstyle(INTERLEAVE_FILL,BLUE);
circle(x,y,5);
floodfill(x,y,WHITE);
}
Este seria el código:
#include<ficha.h>
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
int pos[]={347,353,347,340,347,329,347,318,347,307,347,296,347,285,347,274, 354,268, 365,268, 376,268, 387,268, 398,268, 409,268, 420,268, 433,268, 433,213, 420,213, 409,213, 398,213, 387,213, 376,213, 365,213, 355,213, 348,206, 348,195, 348,184, 348,173, 348,162, 348,151, 348,140, 348,127, 293,127, 293,140, 293,151, 293,162, 293,173, 293,184, 293,195, 293,206, 286,212, 275,212, 264,212, 253,212, 242,212, 231,212, 220,212, 207,212, 207,267, 220,267, 231,267, 242,267, 253,267, 264,267, 275,267, 286,267, 292,274, 292,285, 292,296, 292,307, 292,318, 292,329, 292,340, 292,353};
void main(void)
{
int x,y;
x=0;
y=0;
for( ; ; )
{
y=x+1;
ficha_azul(pos[x],pos[y]);
getch();
x=x+2;
}
}
//funcion ficha azul dentro de FICHA.H
void ficha_azul(int x, int y)
{
int gdriver=DETECT;
int gmode;
initgraph(&gdriver,&gmode,"c:\\tc\\bgi");
setcolor(WHITE);
setfillstyle(INTERLEAVE_FILL,BLUE);
circle(x,y,5);
floodfill(x,y,WHITE);
}
2 Respuestas
Respuesta de malcriado
1
Respuesta de guilllote
1