Démineur sous terminal

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 684 fois - Téléchargée 20 fois

Contenu du snippet

C'est un jeu de demineur tres simple de dimension 4X4 sous la console de linux (terminal)
c'est pour les debutants en c++, comme moi :D
Merci d'avance de donnée votre avis.

Source / Exemple :


 
//****aom2009@hotmail.fr******** 
#include<iostream> 
#include <cstdlib> 

using namespace std; 
void initialiser(char tv[4][4], int scor) 
{ 
  int i,j; 
for(i=0;i<4;i++) 
  for(j=0;j<4;j++) 
     tv[i][j]=' '; scor=0; 
 } 
void affichage(char tv[4][4],int scor) 
{ 
   cout<<endl; 
   cout<<"               1   2   3   4  "<<endl; 
   cout<<"             +---------------+"<<endl; 
   cout<<"          1  | "<<tv[0][0]<<" | "<<tv[0][1]<<" | "<<tv[0][2]<<" | "<<tv[0][3]<<" |       Score: "<<scor*10<<endl; 
   cout<<"             +---------------+"<<endl; 
   cout<<"          2  | "<<tv[1][0]<<" | "<<tv[1][1]<<" | "<<tv[1][2]<<" | "<<tv[1][3]<<" |"<<endl; 
   cout<<"             +---------------+"<<endl; 
   cout<<"          3  | "<<tv[2][0]<<" | "<<tv[2][1]<<" | "<<tv[2][2]<<" | "<<tv[2][3]<<" |"<<endl; 
   cout<<"             +---------------+"<<endl; 
   cout<<"          4  | "<<tv[3][0]<<" | "<<tv[3][1]<<" | "<<tv[3][2]<<" | "<<tv[3][3]<<" |"<<endl; 
   cout<<"             +---------------+"<<endl<<endl; 

} 
void remplir(int tab[4][4],int cpt) 
{ int x=0; int i,j; 
for(i=0;i<4;i++){ 
  for(j=0;j<4;j++){ 
 x=rand()%2+1; 
     tab[i][j]=x;} } 
  cpt=0; 
  for(int i=0;i<4;i++){ 
  for(int j=0;j<4;j++){ 
    if(tab[i][j]==1) cpt++; 
   } } 
} 
void jouer(int tab[4][4],char tv[4][4],int scor, int cpt) 
{ 
  int x,y; 
  scor=0; 
 do { affichage(tv,scor); 
 do { cout<<"  Donner le numero de la ligne:   "; cin>>x; } while((x<1)or(x>4)); 
 do { cout<<"  Donner le numero de la colonne: "; cin>>y; } while((y<1)or(y>4)); 
  tv[x-1][y-1]='1'; scor++; system("clear"); } while((tab[x-1][y-1]!=2)and(scor<cpt)); 
  system("clear"); 

  for(int i=0;i<4;i++){ 
  for(int j=0;j<4;j++){ 
  if(tab[i][j]==2) tv[i][j]='*'; } } if(tab[x-1][y-1]==2) tv[x-1][y-1]='x'; 
  affichage(tv,scor-1); 
  if(scor==cpt){cout<<"n     BRAVO Vous avez gagné !!!!!!n";} 
  else{ cout<<"n    Vous avez perdu !!! n"; } 
} 
void menu() 
{ 
 int tab[4][4]; int scor=0; char tv[4][4]; char rep; int cpt; 
  srand(time(0)); 
  do { 
  system("clear"); 
  initialiser(tv,scor); 
  remplir(tab,cpt); 
  jouer(tab,tv,scor,cpt); 
  cout<<endl<<" voulez-vous Contunier o/n : "; cin>>rep; } 
  while((rep!='n')&(rep!='N')); 

} 

int main() 
{ menu(); 
  system("clear"); 
  cout<<endl<<"                      Merci & a biento "<<endl<<endl; 
  return(0); 
} 

Conclusion :


comme je suis un debutant je voudrai savoir vos conseils pour amiliorer
le code

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (ahmedou2009)