Consulta de código para implementar un parchís

Problema 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
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);
}

1 respuesta

Respuesta
1
No me maldigas pero no había tenido tiempo ni de echar un vistazo a mi correo.
Como veo tu programa, espero que no pidas poner ficha en modo ms-dos, espero que desde el inicio uses gráficos, por que como se ve la función ficha azul, se ve que cada que muestras estas ficha abres gráficos, y no se donde los cierres, el punto es que no deberías de abrir y cerrar muchas veces los gráficos en un programa, por las cosas de la memoria y del stack, tu sabes, ademas de que los relámpagos que se vería en tu pantalla.
Espero aun te sirva, si tienes otra pregunta sobre esto, te agradecería me la hicieras y si ya lo resolviste y no fue esto, también me gustaría que me la platicaras

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas