gelloula
Messages postés2Date d'inscriptionsamedi 28 avril 2007StatutMembreDernière intervention 6 mai 2007
-
5 mai 2007 à 12:53
gelloula
Messages postés2Date d'inscriptionsamedi 28 avril 2007StatutMembreDernière intervention 6 mai 2007
-
6 mai 2007 à 10:48
J
'ai un projet à faire en borlandc en mode BGI, Je suis encore une debutante et je bloque là dessus depuis une semaine.
Je vous donne à quoi j'ai pu me resoudre à faire jusqu'à maintenant:
if (errorcode != grOk)
{
printf("Erreur graphique: %s\n", grapherrormsg(errorcode));
printf("Appuyer sur une touche pour continuer:");
getch();
exit(1);
}
}
outtextxy(90,300,"entrez le nombre de bombes");
scanf("%d",&(*nb));
itoa(*nb,str,10);
outtextxy(90,360,str);
if(*nb>((*x)*(*y)))
{
gotoxy(90,360);
clreol();
}
}
while(*nb>((*x)*(*y)));
}
}
/*mettre les bombes*/
void bombe(int nb, int tab[100][100], int x, int y)
{
int i,j,p,q,compteur,valid;
printf("\n bombe ok");
srand(time(NULL));
for(compteur=1;compteur<=nb;compteur++)
{
valid=0;
do
{
p=1+(rand()%x);
q=1+(rand()%y);
if(tab[p][q] != 9)
{
tab[p][q]=9;
valid=1;
}
}
while(valid==0);
}
getch();
}
/*nombre de bombes */
int nbrebombe ( int tab[100][100] , int i, int j)
{
int n=0;
if (tab[i+1][j]==9) n++;
if (tab[i-1][j]==9) n++;
if (tab[i][j-1]==9) n++;
if (tab[i][j+1]==9) n++;
if (tab[i+1][j+1]==9) n++;
if (tab[i+1][j-1]==9) n++;
if (tab[i-1][j+1]==9) n++;
if (tab[i-1][j-1]==9) n++;
return (n);
}
/*remplissage tableau*/
void remplissage(int mat[100][100],int x, int y)
{
int p,q;
printf("remplissage ok");
for(p=0;p<=x;p++)
for(q=0;q<=y;q++)
if(mat[p][q]!=9) mat[p][q]=nbrebombe(mat,p,q);
}
void ecran(int x ,int y)
{
int i,j,maxx,maxy;
printf("ecran ok");
cleardevice();
setbkcolor(3);
setfillstyle(SOLID_FILL,8);
maxx=getmaxx();
maxy=getmaxy();
bar(100,60,maxx-100,maxy-60);
for(i=100;i<=maxx-100;i=i+((maxx-200)/x))
line(i,60,i,maxy-60);
for(j=60;j<=maxy-60;j=j+((maxy-120)/y))
line(100,j,maxx-100,j);
}
void dessinegrille(int tab[100][100],int x ,int y )
{
char str[8];
int i,j,err;
for(i=100;i<getmaxx()-100;i=i+((getmaxx()-200)/x))
for(j=60;j<getmaxy()-60;j=j+((getmaxy()-120)/y))
{
moveto(i+2,j+2);
itoa(tab[i][j], str ,10);
setcolor(10);
settextstyle(2,0,3);
outtextxy(i+2,j+2,str);
}
}
void initmouse()
{
_AX=0;
_AX=01;
_AX=04;
}
int main()
{
int grille[100][100];
int a,b,c,choice,level,abscisse,ordonee,nbr;
graphique();
choix_niveau(&level);
choice=level;
initmouse();
dimension(choice,&abscisse,&ordonee,&nbr);
bombe(nbr,grille,abscisse,ordonee);
cleardevice();
remplissage(grille,abscisse,ordonee);
cleardevice();
ecran(abscisse,ordonee);
getch();
dessinegrille(grille,abscisse,ordonee);
getch();
return 0 ;
}
Merci d'avance nimporte quelle aide me sera précieuse
deck_bsd
Messages postés1243Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 3 août 20162 5 mai 2007 à 18:02
Yop,
Tu ne nous dit pas ce que doit faire ton projet. De plus cppfrance n'est pas là pour faire un devoir, si tu as une question précise ok, si il sagit de le faire à ta place , c'est non. Et tu n'auras jms de réponse.
gelloula
Messages postés2Date d'inscriptionsamedi 28 avril 2007StatutMembreDernière intervention 6 mai 2007 6 mai 2007 à 10:48
Ah oui t'as raison : Ce programme doit reproduire le jeu de Demineur sous borlandc en mode graphique BGI
Mes questions sont:
comment utiliser la souris exactement dans ce programme?
la fonction dessinegrille presente une erreur d'execution mais je ne comprend pas laquelle?
Si j'aurais voulu qu'on fasse mon devoir à ma place j'aurais simplement fait du copiercoller mais malheureusement j'ai une conscience.