begin process at 2012 05 30 11:19:14
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

recherche aide SVP


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

recherche aide SVP

samedi 5 mai 2007 à 12:53:14 | recherche aide SVP

gelloula

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:



 #include <dos.h>
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <time.h>

/*declaration des parametres*/


/*les fonctions utilis,es sont:*/
void graphique();
int choix_niveau();
void dimension(int choix,int *x ,int *y,int *nb);
void bombe(int nb, int *tab, int x, int y);
void remplissage(int tab[100][100],int x, int y);
void ecran(int x ,int y);
void initmouse();

/*void graphique();*/
void graphique()
{
   int gdriver = DETECT, gmode, errorcode;
   initgraph(&gdriver, &gmode, "");
   errorcode = graphresult();

   if (errorcode != grOk)
   {
      printf("Erreur graphique: %s\n", grapherrormsg(errorcode));
      printf("Appuyer sur une touche pour continuer:");
      getch();
      exit(1);
   }
}


/*Menu*/
void choix_niveau ( int *niveau)
{
  int rep=0;
  char  str[8];
  clrscr();
  setbkcolor(8);
  settextstyle(GOTHIC_FONT,0,3);
  cleardevice();
  setbkcolor(8);
  setfillstyle(3,12);
  bar(80,40,getmaxx()-80,getmaxy()-40);
  settextstyle(3,0,5);
  outtextxy(100,60,"1* Facile");
  outtextxy(100,120,"2* Moyen");
  outtextxy(100,180,"3* Difficile");
  outtextxy(100,240,"4* Personnalis,");
  while(!((rep==1)||(rep==2)||(rep==3)||(rep==4)))
  {
  outtextxy(100,300,"Niveau    :");
  scanf("%d",&rep);
  settextstyle(3,0,6);
  itoa(rep,str,10);
  outtextxy(180,360,str);
  getch();
  }
  *niveau=rep;
}
void dimension(int choix,int *x ,int *y,int *nb)
{
  char str[8];
  if(choix==1)
  {
    *x=16;
    *y=8;
    *nb=10;
  }
  else if(choix==2)
  {
    *x=18;
    *y=16;
    *nb=40;
  }
  else if(choix==3)
  {
    *x=25;
    *y=20;
    *nb=99;
  }
  else if(choix==4)
  {
   cleardevice();
   setbkcolor(8);
   setfillstyle(2,13);
   bar(80,40,getmaxx()-80,getmaxy()-40);
   settextstyle(TRIPLEX_FONT, 0 , 6);
   setcolor(7);
   outtextxy(90,60,"entrez le nombre de colonnes");
   scanf("%d",&(*x));
   itoa(*x,str,10);
   outtextxy(90,120,str);
   outtextxy(90,180,"entrez le nombre de lignes ");
   scanf("%d",&(*y));
   itoa(*y,str,10);
   outtextxy(90,240,str);

   do
     {

     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 
samedi 5 mai 2007 à 18:02:53 | Re : recherche aide SVP

deck_bsd

Membre Club
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.

++
deck_bsd
___________________________________
[ [ Lien ]]
dimanche 6 mai 2007 à 10:48:49 | Re : recherche aide SVP

gelloula

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.



Cette discussion est classée dans : int, void, tab, str, outtextxy


Répondre à ce message

Sujets en rapport avec ce message

Tableau à 3 dimensions [ par VinceExtense ] Savez vous comment faire passer en paramètre un tableau à 3 dimensions ?void fonction1(int x,iny y,int z){int tab[x][y][z];}void fonction2(int ***tab, programmation graphique en c++ sur turboc++ [ par lapuissance ] je suis entrain de fair un menu deroulant sur en c++ sur turbo c++et j'aimerai avoir un peu d'aide .j'ai fait l les menus fichier edition ...et j'arri copier des données en memoire [ par rudybaka ] Bonjour je suis etudiant et j'aurai besoin d'aide pour une question de TP :Ecrire une fonction qui trie les valeurs d'un tableau d'éléments de type qu langage C [ par wafa_mef ] merci de me considerer un membre de ce club et j' ai le plaisir de participer avec vous .merci pour les codes sources envoyés. j'ai écrit un programme chaine de caractere [ par superstarz ] Bonjour, Je suis débutant en C++, et je seche sur un TP concernant les chaines de caractère.Les érreurs qui surviennent lors de la compilation sont le Problème de définition de fonction dans une classe [ par labuche75 ] Bonjour à tous, je rencontre un problème à priori de définition de fonction dans la classe tableau permettant de manipuler de grands entiers nécessair Problème : conversion from constant void to void (GPIB) [ par twintornado ] Bonjour dans le cadre d'un stage je dois piloter des appareil avec un programme en C via une interface GPIB : voici mon code source : #include #in Besoin d'aide en C++ [ par sevio14 ] Aider moi svp à le terminer ce programme,voici le programme: #include #include "Tuples.h" #include "Vecteur.h" #include "Vecteur3d.h" #include un peut d'aide svp. (pointeur?) [ par mana ] int *tab[10]; int *pos; int create(int val){ if (val>=0 && val=0 && val<10) pos=tab[val]; // ligne OK } dans la fo


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,343 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales