Jeu de yum

Soyez le premier à donner votre avis sur cette source.

Vue 16 750 fois - Téléchargée 158 fois

Description

Voici mon premier jeu en c++.
Oui je sais, il y probablement encore des bugs...
Oui je sais la I.A. n'est pas encore au point...
Oui je sais des graphistes couleurs c'est mieux...
Oui je sais ce programme n'inove pas dans le fabuleux monde du jeu.

Mais soyez indulgent c'est mon premier jeu en c++.
D'ailleur des amilioration serons fait dans l'avenir.
Je n'est pas mis de commentaire dans mon code pour une raison de longueur. Cela sera fais
dans les jours avenir.Toutefois si quelqu'un a besoin d'explication sur certaine partie
n'ésitez pas à me contacter.

j'ai mis mon code afficher au cas ou mon zip ne marche pas

Source / Exemple :


#include <iostream.h>
#include <stdlib.h>
#include <time.h>
#include <process.h> //system("cls");

struct Liste_Des
{
    int des_a;
    int des_b;
    int des_c;
    int des_d;
    int des_e;
};

struct Pointages
{
    int valeur_j1[14];
    int valeur_j2[14];
};

int Des_A(Liste_Des *d)
{
  
  
  int ref;
  srand( (unsigned)time( NULL ) ); 
  ref = rand() % 6;
  
  if(ref==0)d->des_a=1;
  if(ref==1)d->des_a=2;
  if(ref==2)d->des_a=3;
  if(ref==3)d->des_a=4;
  if(ref==4)d->des_a=5;
  if(ref==5)d->des_a=6;
   
}

int Des_B(Liste_Des *d)
{
   
  int ref;
  
  do
  {
  srand( (unsigned)time( NULL ) ); 
  ref = rand() % 7;
  
    if(ref==0)d->des_b=1;
    if(ref==1)d->des_b=2;
    if(ref==2)d->des_b=3;
    if(ref==3)d->des_b=4;
    if(ref==4)d->des_b=5;
    if(ref==5)d->des_b=6;
  }while(ref==6);  
  
}

int Des_C(Liste_Des *d)
{
   
  int ref;
  
  do
  {
  srand( (unsigned)time( NULL ) ); 
  ref = rand() % 8;
  
    if(ref==0)d->des_c=1;
    if(ref==1)d->des_c=2;
    if(ref==2)d->des_c=3;
    if(ref==3)d->des_c=4;
    if(ref==4)d->des_c=5;
    if(ref==5)d->des_c=6;
  }while((ref==6)||(ref==7));  
  
}

int Des_D(Liste_Des *d )
{
  
  int ref;
  
  do
  {
  srand( (unsigned)time( NULL ) ); 
  ref = rand() % 9;
  
    if(ref==0)d->des_d=1;
    if(ref==1)d->des_d=2;
    if(ref==2)d->des_d=3;
    if(ref==3)d->des_d=4;
    if(ref==4)d->des_d=5;
    if(ref==5)d->des_d=6;
  }while((5<ref)&&(ref<9));  
  
}

int Des_E(Liste_Des *d)
{
    
  int ref;
  do
  {
  srand( (unsigned)time( NULL ) ); 
  ref = rand() % 10;
  
    if(ref==0)d->des_e=1;
    if(ref==1)d->des_e=2;
    if(ref==2)d->des_e=3;
    if(ref==3)d->des_e=4;
    if(ref==4)d->des_e=5;
    if(ref==5)d->des_e=6;
  }while((5<ref)&&(ref<10));  
  
}

void Affiche_Des(int resultat)
{
 
   int resultat_local;
   resultat_local=resultat;  
    
   if(resultat_local==1)
      {   
          
          cout<<endl;    
          cout<<"         -------"<<endl;
          cout<<"        |       |"<<endl;
          cout<<"        |       |"<<endl;
          cout<<"        |   O   |"<<endl;
          cout<<"        |       |"<<endl;
          cout<<"        |       |"<<endl;
          cout<<"         -------"<<endl;
      }
    
    if(resultat_local==2)
      {
         
          cout<<endl;    
          cout<<"         -------"<<endl;
          cout<<"        |       |"<<endl;
          cout<<"        | O     |"<<endl;
          cout<<"        |       |"<<endl;
          cout<<"        |     O |"<<endl;
          cout<<"        |       |"<<endl;
          cout<<"         -------"<<endl;
      }
      
    if(resultat_local==3)
      {
          
          cout<<endl;    
          cout<<"         -------"<<endl;
          cout<<"        |       |"<<endl;
          cout<<"        | O     |"<<endl;
          cout<<"        |   O   |"<<endl;
          cout<<"        |     O |"<<endl;
          cout<<"        |       |"<<endl;
          cout<<"         -------"<<endl;
      }
      
    if(resultat_local==4)
      {
         
          cout<<endl;    
          cout<<"         -------"<<endl;
          cout<<"        |       |"<<endl;
          cout<<"        | O   O |"<<endl;
          cout<<"        |       |"<<endl;
          cout<<"        | O   O |"<<endl;
          cout<<"        |       |"<<endl;
          cout<<"         -------"<<endl;
      }
      
    if(resultat_local==5)
      {
          
          cout<<endl;    
          cout<<"         -------"<<endl;
          cout<<"        |       |"<<endl;
          cout<<"        | O   O |"<<endl;
          cout<<"        |   O   |"<<endl;
          cout<<"        | O   O |"<<endl;
          cout<<"        |       |"<<endl;
          cout<<"         -------"<<endl;
      }
      
    if(resultat_local==6)
      {
          
          cout<<endl;    
          cout<<"         -------"<<endl;
          cout<<"        |       |"<<endl;
          cout<<"        | O   O |"<<endl;
          cout<<"        | O   O |"<<endl;
          cout<<"        | O   O |"<<endl;
          cout<<"        |       |"<<endl;
          cout<<"         -------"<<endl;
      }           
    
      
}
                 
void Joueur1(Liste_Des*d)
{  
  
  int tour=3;
  
  char choix;
  char choix2;
  char choix_a;
  char choix_b;
  char choix_c;
  char choix_d;
  char choix_e;
  int resultat1;
  int resultat2;
  int resultat3;
  int resultat4;
  int resultat5;
  
    Des_A(d);
    Des_B(d);
    Des_C(d);
    Des_D(d);
    Des_E(d);
  
    do
    {
    tour--;
    system("cls");
    
    resultat1=d->des_a;
    cout<<endl;
    cout<<"Le dès A";
    Affiche_Des(resultat1);
   
    resultat2=d->des_b;
    cout<<endl;
    cout<<"Le dès B";
    Affiche_Des(resultat2);
    
    resultat3=d->des_c;
    cout<<endl;
    cout<<"Le dès C";
    Affiche_Des(resultat3);
    
    resultat4=d->des_d;
    cout<<endl;
    cout<<"Le dès D";
    Affiche_Des(resultat4);
    
    resultat5=d->des_e;
    cout<<endl;
    cout<<"Le dès E";
    Affiche_Des(resultat5);
    
    cout<<"Tour restant: "<<tour;
    
    if(tour == 0)
           return;
    
    cout<<endl;
    cout<<"Voulez-vous rejouer les dès?(o/n)"<<endl;
    cin>>choix;
      
      if (choix=='n')
            return; 
            
      while (choix !='o')
      {
          cout<<"\a";
          cout<<"Desole! Veillez recommencer votre saisi..."<<endl;
          cin>>choix;
          
          if (choix=='n')
            return; 
      }    
    
    
  
    cout<<"Le quels des dès voulez-vous rejouer?"<<endl;
    
    do
    {
        cout<<"Le dès A?(o/n)"<<endl;
        cin>>choix_a;
        cout<<endl;
        cout<<endl;
        
          while(choix_a !='o')
          {
          if(choix_a == 'n') break;
          
          cout<<"\a";
          cout<<"Desole! Veillez recommencer votre saisi..."<<endl;
          cin>>choix_a;
          } 
    
        cout<<"Le dès B?(o/n)"<<endl;
        cin>>choix_b;
        cout<<endl;
        cout<<endl;
           
          while(choix_b !='o')
          {
              
          if(choix_b == 'n') break;
          
          cout<<"\a";
          cout<<"Desole! Veillez recommencer votre saisi..."<<endl;
          cin>>choix_b;
          } 
          
        cout<<"Le dès C?(o/n)"<<endl;
        cin>>choix_c;
        cout<<endl;
        cout<<endl;
    
          while(choix_c !='o')
          {
          if(choix_c == 'n') break;   
              
          cout<<"\a";
          cout<<"Desole! Veillez recommencer votre saisi..."<<endl;
          cin>>choix;
          } 
          
        cout<<"Le dès D?(o/n)"<<endl;
        cin>>choix_d;
        cout<<endl;
        cout<<endl;
        
          while(choix_d !='o')
          {
          if(choix_d == 'n') break;   
              
          cout<<"\a";
          cout<<"Desole! Veillez recommencer votre saisi..."<<endl;
          cin>>choix_d;
          } 
    
        cout<<"Le dès E?(o/n)"<<endl;
        cin>>choix_e;
        cout<<endl;
        cout<<endl;
        
          while(choix_e !='o')
          {
          if(choix_e == 'n') break;
          
          cout<<"\a";
          cout<<"Desole! Veillez recommencer votre saisi..."<<endl;
          cin>>choix_e;
          } 
        
        cout<<"Vous etes sure de votre choix?(o/n)"<<endl;
        cin>>choix2;
        cout<<endl;
        
          while(choix2 !='o')
          {
          if(choix2 == 'n') break;
          
          cout<<"\a";
          cout<<"Desole! Veillez recommencer votre saisi..."<<endl;
          cin>>choix2;
          }     
        
    }while(choix2 !='o');    
  
    if(choix_a=='o')
    Des_A(d);
  
    if(choix_b=='o')
    Des_B(d);
  
    if(choix_c=='o')
    Des_C(d);
    
    if(choix_d=='o')
    Des_D(d);
    
    if(choix_e=='o')
    Des_E(d);
    
       
   }while(tour>0);
}

int Serie_1(Liste_Des *d,Pointages*p)
{   
    int A=0;
    int B=0;
    int C=0;
    int D=0;
    int E=0;
    
    
    if(d->des_a==1)A=1;
    if(d->des_b==1)B=1;
    if(d->des_c==1)C=1;
    if(d->des_d==1)D=1;
    if(d->des_e==1)E=1;
    
    p->valeur_j1[0]=A+B+C+D+E;
}           

int Serie_2(Liste_Des *d,Pointages*p)
{   
    int A=0;
    int B=0;
    int C=0;
    int D=0;
    int E=0;
    
    
    if(d->des_a==2)A=2;
    if(d->des_b==2)B=2;
    if(d->des_c==2)C=2;
    if(d->des_d==2)D=2;
    if(d->des_e==2)E=2;
    
    p->valeur_j1[1]=A+B+C+D+E;
}

int Serie_3(Liste_Des *d,Pointages*p)
{   
    int A=0;
    int B=0;
    int C=0;
    int D=0;
    int E=0;
    
    
    if(d->des_a==3)A=3;
    if(d->des_b==3)B=3;
    if(d->des_c==3)C=3;
    if(d->des_d==3)D=3;
    if(d->des_e==3)E=3;
    
    p->valeur_j1[2]=A+B+C+D+E;
}

int Serie_4(Liste_Des *d,Pointages*p)
{   
    int A=0;
    int B=0;
    int C=0;
    int D=0;
    int E=0;
    
    
    if(d->des_a==4)A=4;
    if(d->des_b==4)B=4;
    if(d->des_c==4)C=4;
    if(d->des_d==4)D=4;
    if(d->des_e==4)E=4;
    
    p->valeur_j1[3]=A+B+C+D+E;
}

int Serie_5(Liste_Des *d,Pointages*p)
{   
    int A=0;
    int B=0;
    int C=0;
    int D=0;
    int E=0;
    
    
    if(d->des_a==5)A=5;
    if(d->des_b==5)B=5;
    if(d->des_c==5)C=5;
    if(d->des_d==5)D=5;
    if(d->des_e==5)E=5;
    
    p->valeur_j1[4]=A+B+C+D+E;
}

int Serie_6(Liste_Des *d,Pointages*p)
{   
    int A=0;
    int B=0;
    int C=0;
    int D=0;
    int E=0;
    
    
    if(d->des_a==6)A=6;
    if(d->des_b==6)B=6;
    if(d->des_c==6)C=6;
    if(d->des_d==6)D=6;
    if(d->des_e==6)E=6;
    
    p->valeur_j1[5]=A+B+C+D+E;
}

int Main_Plaine(Liste_Des *d,Pointages*p)
{
   if(((d->des_a==d->des_b)||(d->des_a==d->des_c))||((d->des_a==d->des_d)||(d->des_a==d->des_e)))
       {
        if(d->des_b==d->des_c) 
              if(d->des_d==d->des_e)
                       p->valeur_j1[8]=25;
                       
        if(d->des_b==d->des_d)
              if(d->des_c==d->des_e)
                    p->valeur_j1[8]=25;
                    
        if(d->des_b==d->des_e)
              if(d->des_c==d->des_d)
                    p->valeur_j1[8]=25;
        
        if(d->des_c==d->des_d) 
              if(d->des_b==d->des_e)
                       p->valeur_j1[8]=25;
        
        if(d->des_c==d->des_e) 
              if(d->des_b==d->des_d)
                       p->valeur_j1[8]=25;
                       
        if(d->des_d==d->des_e)
              if(d->des_b==d->des_c)
                    p->valeur_j1[8]=25;
       } 
                       
    if(((d->des_b==d->des_c))||((d->des_b==d->des_d)||(d->des_b==d->des_e)))
       {
        if(d->des_c==d->des_d) 
                  if(d->des_a==d->des_e)
                        p->valeur_j1[8]=25;
                         
        if(d->des_c==d->des_e)
              if(d->des_a==d->des_d)
                    p->valeur_j1[8]=25;
                    
        if(d->des_d==d->des_e)
              if(d->des_a==d->des_c)
                    p->valeur_j1[8]=25;
       }
       
     if ((d->des_c==d->des_d)&&(d->des_d==d->des_e)) 
            if(d->des_a==d->des_b)
                p->valeur_j1[8]=25;
}

int Serie_Suite(Liste_Des *d,Pointages*p)
{
    int tab[5];
    int temp;
   
    tab[0]=d->des_a;
    tab[1]=d->des_b;
    tab[2]=d->des_c;
    tab[3]=d->des_d;
    tab[4]=d->des_e;
    
    for(int start=0; start<5;start++)
       for(int k=start+1; k<5;k++)
          if(tab[k]<tab[start])
          {
             temp=tab[k];
             tab[k]=tab[start];
             tab[start]=temp;
          }
          
    if(tab[0]<tab[1])
       if(tab[1]<tab[2])
         if(tab[3]<tab[4])
            p->valeur_j1[9]=25;       
}

int Haute(Liste_Des *d,Pointages*p)
{
   int somme;
   somme=d->des_a + d->des_b + d->des_c + d->des_d + d->des_e;
    
   if(p->valeur_j1[11] !=0) 
   {
      if(p->valeur_j1[11] >= somme)
        p->valeur_j1[10]=0;
      else
        p->valeur_j1[10]=somme;
   }     
   if(p->valeur_j1[11] ==0)
       p->valeur_j1[10]=somme;

}

int Basse(Liste_Des *d,Pointages*p)
{
   int somme;
   somme=d->des_a + d->des_b + d->des_c + d->des_d + d->des_e;
    
   if(p->valeur_j1[10] !=0)
   { 
      if(p->valeur_j1[10]<=somme)
        p->valeur_j1[11]=0;
      else
        p->valeur_j1[11]=somme;
   }        
   if(p->valeur_j1[10] ==0)
       p->valeur_j1[11]=somme;

}

int Yum(Liste_Des *d,Pointages*p)
{
    if(d->des_a == d->des_b)
        if(d->des_b == d->des_c)
           if(d->des_c == d->des_d)
              if(d->des_d == d->des_e)
                 p->valeur_j1[12]=30;
} 

int ChoixPointage_Joueur1(Liste_Des *d,Pointages*p)
{
    int index;
    int Verification;
    static bool securite[11];
    static int conteur=0;
    conteur++;
   
    
    cout<<"Choisisez votre strategie de pointage"<<endl;
    if(securite[0]== false)
    cout<<"Pour choisir la serie de dès 1 selectionnez (1)"<<endl;
    if(securite[1]==false)
    cout<<"Pour choisir la serie de dès 2 selectionnez (2)"<<endl;
    if(securite[2]==false)
    cout<<"Pour choisir la serie de dès 3 selectionnez (3)"<<endl;
    if(securite[3]==false)
    cout<<"Pour choisir la serie de dès 4 selectionnez (4)"<<endl;
    if(securite[4]==false)
    cout<<"Pour choisir la serie de dès 5 selectionnez (5)"<<endl;
    if(securite[5]==false)
    cout<<"Pour choisir la serie de dès 6 selectionnez (6)"<<endl;
    if(securite[6]==false)
    cout<<"Pour choisir la main plaine selectionnez    (7)"<<endl;
    if(securite[7]==false)
    cout<<"Pour choisir la sequence selectionnez       (8)"<<endl;
    if(securite[8]==false)
    cout<<"Pour choisir la haute selectionnez          (9)"<<endl;
    if(securite[9]==false)
    cout<<"Pour choisir la basse selectionnez         (10)"<<endl;
    if(securite[10]==false)
    cout<<"Pour choisir le Yum  selectionnez          (11)"<<endl;
    
    do
    {
    cout<<endl;
    cout<<"Votre reponse?: ";
    cin>>index;
    cout<<endl;
    
          
    
    switch(index)
    {
        case 1:
            if(securite[0])
               {
                 cout<<"Impossible! Deja choisis!";
                 Verification=1;
                 break;
               }     
            Serie_1(d,p);
            securite[0]=true;
            Verification=0;
            break;
            
        case 2:
            if(securite[1])
               {
                 cout<<"Impossible! Deja choisis!";
                 Verification=1;
                 break;
               }     
            Serie_2(d,p);
            securite[1]=true;
            Verification=0;
            break;
            
        case 3:
            if(securite[2])
               {
                 cout<<"Impossible! Deja choisis!";
                 Verification=1;
                 break;
               }     
            Serie_3(d,p);
            securite[2]=true;
            Verification=0;
            break;
            
        case 4:
            if(securite[3])
               {
                 cout<<"Impossible! Deja choisis!";
                 Verification=1;
                 break;
               }     
            Serie_4(d,p);
            securite[3]=true;
            Verification=0;
            break;
            
        case 5:
            if(securite[4])
               {
                 cout<<"Impossible! Deja choisis!";
                 Verification=1;
                 break;
               }     
            Serie_5(d,p);
            securite[4]=true;
            Verification=0;
            break;
            
        case 6:
            if(securite[5])
               {
                 cout<<"Impossible! Deja choisis!";
                 Verification=1;
                 break;
               }     
            Serie_6(d,p);
            securite[5]=true;
            Verification=0;
            break; 
            
        case 7:
            if(securite[6])
               {
                 cout<<"Impossible! Deja choisis!";
                 Verification=1;
                 break;
               }     
            Main_Plaine(d,p);
            securite[6]=true;
            Verification=0;
            break;
            
        case 8:
            if(securite[7])
               {
                 cout<<"Impossible! Deja choisis!";
                 Verification=1;
                 break;
               }     
            Serie_Suite(d,p);
            securite[7]=true;
            Verification=0;
            break;
         
        case 9:
            if(securite[8])
               {
                 cout<<"Impossible! Deja choisis!";
                 Verification=1;
                 break;
               }     
            Haute(d,p);
            securite[8]=true;
            Verification=0;
            break;
            
       case 10:
            if(securite[9])
               {
                 cout<<"Impossible! Deja choisis!";
                 Verification=1;
                 break;
               }     
            Basse(d,p);
            securite[9]=true;
            Verification=0;
            break; 
            
       case 11:
            if(securite[10])
               {
                 cout<<"Impossible! Deja choisis!";
                 Verification=1;
                 break;
               }     
            Yum(d,p);
            securite[10]=true;
            Verification=0;
            break;
                
        default:
            cout<<"Erreur!Saisi non disponible...";
            Verification=1;
            break;
    }    
   }while(Verification); 
   
   if(conteur==11)
      {
      conteur=0; 
      for(int x=0;x<11;x++)
        securite[x]=false;
      }       
}

int Ordinateur(Liste_Des *d,Pointages*p)
{
  int Verification=1;
  int somme=0;
  static bool securite[11];
  static int conteur=0;
  conteur++;
  
  int pourcentage;
  srand( (unsigned)time( NULL ) ); 
  pourcentage = rand() % 100;
  
  do
  {
  int comp;
  srand( (unsigned)time( NULL ) ); 
  comp = rand() % 12;
  
  switch(comp)
  {  
       case 0:
           if (securite[0]==true)
           break;
           if((securite[2]==false)||(securite[3]==false))
           {
           if(pourcentage<97)
              p->valeur_j2[0]=1;
           if(pourcentage<90)  
              p->valeur_j2[0]=2;
           if(pourcentage<80)  
              p->valeur_j2[0]=3;
           if(pourcentage<50)  
              p->valeur_j2[0]=4;
           if(pourcentage<3)  
              p->valeur_j2[0]=5;
           }    
           cout<<"L'ordinateur a fait un pointage de: "<<p->valeur_j2[0]<<endl;
           cout<<"pour la serie de dès 1."<<endl;
           system("pause");
           securite[0]=true;
           Verification=0;  
           break;
           
       case 1:
           if (securite[1]==true)
           break;
           if(pourcentage<97)
              p->valeur_j2[1]=2;
           if(pourcentage<92)  
              p->valeur_j2[1]=4;
           if(pourcentage<90)  
              p->valeur_j2[1]=6;
           if(pourcentage<80)  
              p->valeur_j2[1]=8;
           if(pourcentage<4)  
              p->valeur_j2[1]=10;
           cout<<"L'ordinateur a fait un pointage de: "<<p->valeur_j2[1]<<endl;
           cout<<"pour la serie de dès 2."<<endl;
           system("pause");
           securite[1]=true;
           Verification=0;   
           break;
           
       case 2:
           if (securite[2]==true)
           break;
           if(pourcentage<96)
              p->valeur_j2[2]=3;
           if(pourcentage<91)  
              p->valeur_j2[2]=6;
           if(pourcentage<87)  
              p->valeur_j2[2]=12;
           if(pourcentage<60)  
              p->valeur_j2[2]=15;
           if(pourcentage<10)  
              p->valeur_j2[2]=18;
           cout<<"L'ordinateur a fait un pointage de: "<<p->valeur_j2[2]<<endl;
           cout<<"pour la serie de dès 3."<<endl;
           system("pause");
           securite[2]=true;
           Verification=0;   
           break; 
           
       case 3:
           if (securite[3]==true)
           break;
           if(pourcentage<95)
              p->valeur_j2[3]=4;
           if(pourcentage<91)  
              p->valeur_j2[3]=8;
           if(pourcentage<88)  
              p->valeur_j2[3]=12;
           if(pourcentage<69)  
              p->valeur_j2[3]=16;
           if(pourcentage<10)  
              p->valeur_j2[3]=20;
           cout<<"L'ordinateur a fait un pointage de: "<<p->valeur_j2[3]<<endl;
           cout<<"pour la serie de dès 4."<<endl;
           system("pause");
           securite[3]=true;
           Verification=0;   
           break; 
           
       case 4:
           if (securite[4]==true)
           break;
           if(pourcentage<95)
              p->valeur_j2[4]=5;
           if(pourcentage<92)  
              p->valeur_j2[4]=10;
           if(pourcentage<86)  
              p->valeur_j2[4]=15;
           if(pourcentage<52)  
              p->valeur_j2[4]=20;
           if(pourcentage<10)  
              p->valeur_j2[4]=25;
           cout<<"L'ordinateur a fait un pointage de: "<<p->valeur_j2[4]<<endl;
           cout<<"pour la serie de dès 5."<<endl;
           system("pause");
           securite[4]=true;
           Verification=0;   
           break;
           
       case 5:
           if (securite[5]==true)
           break;
           if(pourcentage<95)
              p->valeur_j2[5]=6;
           if(pourcentage<91)  
              p->valeur_j2[5]=12;
           if(pourcentage<70)  
              p->valeur_j2[5]=18;
           if(pourcentage<41)  
              p->valeur_j2[5]=24;
           if(pourcentage<10)  
              p->valeur_j2[5]=30;
           cout<<"L'ordinateur a fait un pointage de: "<<p->valeur_j2[5]<<endl;
           cout<<"pour la serie de dès 6."<<endl;
           system("pause");
           securite[5]=true;
           Verification=0;   
           break;
           
           
       case 6:
           if (securite[6]==true)
           break;
           if((securite[10]==false)||(securite[11]==false))
             p->valeur_j2[8]=25;
           cout<<"L'ordinateur a fait un pointage de: "<<p->valeur_j2[8]<<endl;
           cout<<"pour la main plaine."<<endl;
           system("pause");
           securite[6]=true;
           Verification=0;   
           break; 
      
      case 7:
           if (securite[7]==true)
           break;
           if((securite[0]==false)||(securite[1]==false))
             p->valeur_j2[9]=25;
           cout<<"L'ordinateur a fait un pointage de: "<<p->valeur_j2[9]<<endl;
           cout<<"pour la sequense."<<endl;
           system("pause");
           securite[7]=true;
           Verification=0;   
           break;
      
      case 11:
           if (securite[7]==true)
           break;
           if((securite[0]==false)||(securite[1]==false))
             p->valeur_j2[9]=25;
           cout<<"L'ordinateur a fait un pointage de: "<<p->valeur_j2[9]<<endl;
           cout<<"pour la sequense."<<endl;
           system("pause");
           securite[7]=true;
           Verification=0;   
           break;
           
      case 8:
           if (securite[8]==true)
           break;
           if (p->valeur_j2[11] !=0)
            {
              do
              {
                 Des_A(d);
                 Des_B(d);
                 Des_C(d);
                 Des_D(d);
                 Des_E(d);
                 
                 somme=d->des_a + d->des_b + d->des_c + d->des_d + d->des_e;
                 
                 p->valeur_j2[10]=somme;
                 
              }while(p->valeur_j2[11]>=p->valeur_j2[10]);
             }     
           if (p->valeur_j2[11] ==0)
           {
             do
              {
                 Des_A(d);
                 Des_B(d);
                 Des_C(d);
                 Des_D(d);
                 Des_E(d);
                 
                 somme=d->des_a + d->des_b + d->des_c + d->des_d + d->des_e;
                 p->valeur_j2[10]=somme;
              }while(somme<20);
           }    
           if(pourcentage>96)
                p->valeur_j2[10]=0;
            cout<<"L'ordinateur a fait un pointage de: "<<p->valeur_j2[10]<<endl;
           cout<<"pour la haute."<<endl;
           system("pause");    
           securite[8]=true;
           Verification=0;   
           break; 
           
      case 9:
           if (securite[9]==true)
           break;
           if (p->valeur_j2[10] !=0)
             {
              do
              {
                 Des_A(d);
                 Des_B(d);
                 Des_C(d);
                 Des_D(d);
                 Des_E(d);
                 
                 somme=d->des_a + d->des_b + d->des_c + d->des_d + d->des_e;
                 p->valeur_j2[11]=somme;
                 
              }while(p->valeur_j2[10] <= p->valeur_j2[11]);
             }         
           if (p->valeur_j2[10] ==0)
            {
              do
              {
                 Des_A(d);
                 Des_B(d);
                 Des_C(d);
                 Des_D(d);
                 Des_E(d);
                 
                 somme=d->des_a + d->des_b + d->des_c + d->des_d + d->des_e;
                 p->valeur_j2[11]=somme;
              }while(somme<19);
            }    
           if(pourcentage>90)
                p->valeur_j2[10]=0;
           cout<<"L'ordinateur a fait un pointage de: "<<p->valeur_j2[11]<<endl;
           cout<<"pour la basse."<<endl;
           system("pause");    
           securite[9]=true;
           Verification=0;   
           break;
           
      case 10:
           if (securite[10]==true)
           break;
           if(securite[0]==false)
           {
           if(pourcentage>56)
             p->valeur_j2[12]=30;
           }    
           cout<<"L'ordinateur a fait un pointage de: "<<p->valeur_j2[12]<<endl;
           cout<<"pour le yum."<<endl;
           system("pause");
           securite[10]=true;
           Verification=0;   
           break;
  
     }        
  }while(Verification);
  
 if(conteur==11)
      {
      conteur=0; 
      for(int x=0;x<11;x++)
        securite[x]=false;
      }       
 
}

int Calcul_Final(Pointages*p)
{
    
p->valeur_j1[6]=p->valeur_j1[0] + p->valeur_j1[1] + p->valeur_j1[2] + p->valeur_j1[3] + p->valeur_j1[4] + p->valeur_j1[5];

p->valeur_j2[6]=p->valeur_j2[0] + p->valeur_j2[1] + p->valeur_j2[2] + p->valeur_j2[3] + p->valeur_j2[4] + p->valeur_j2[5];
 
if(p->valeur_j1[6]>=63)
  p->valeur_j1[7]=25;

if(p->valeur_j2[6]>=63)
  p->valeur_j2[7]=25;

p->valeur_j1[13]=p->valeur_j1[6] + p->valeur_j1[7] + p->valeur_j1[8] + p->valeur_j1[9] + p->valeur_j1[10] + p->valeur_j1[11] + p->valeur_j1[12];

p->valeur_j2[13]=p->valeur_j2[6] + p->valeur_j2[7] + p->valeur_j2[8] + p->valeur_j2[9] + p->valeur_j2[10] + p->valeur_j2[11] + p->valeur_j2[12];

}

    
int Affichage_Resultat(Pointages*p)
{
    
    cout<<endl;          
    cout<<"                |Joueur 1     Joueur2        "<<endl;
    cout<<"---------------------------------------------"<<endl;
    cout<<"                |                            "<<endl;
    cout<<" Serie de dès 1 |  "<<p->valeur_j1[0]<<"\t\t"<<p->valeur_j2[0]<<endl;
    cout<<" Serie de dès 2 |  "<<p->valeur_j1[1]<<"\t\t"<<p->valeur_j2[1]<<endl;
    cout<<" Serie de dès 3 |  "<<p->valeur_j1[2]<<"\t\t"<<p->valeur_j2[2]<<endl;
    cout<<" Serie de dès 4 |  "<<p->valeur_j1[3]<<"\t\t"<<p->valeur_j2[3]<<endl;
    cout<<" Serie de dès 5 |  "<<p->valeur_j1[4]<<"\t\t"<<p->valeur_j2[4]<<endl;
    cout<<" Serie de dès 6 |  "<<p->valeur_j1[5]<<"\t\t"<<p->valeur_j2[5]<<endl;
    cout<<"                |                            "<<endl;
    cout<<"---------------------------------------------"<<endl;
    cout<<"                |                            "<<endl;
    cout<<" Sous-total:    |  "<<p->valeur_j1[6]<<"\t\t"<<p->valeur_j2[6]<<endl;
    cout<<" Bonus(25 pts.) |  "<<p->valeur_j1[7]<<"\t\t"<<p->valeur_j2[7]<<endl;
    cout<<"                |                            "<<endl;
    cout<<"---------------------------------------------"<<endl;
    cout<<"                |                            "<<endl;
    cout<<" M.p. (25 pts.) |  "<<p->valeur_j1[8]<<"\t\t"<<p->valeur_j2[8]<<endl;
    cout<<" seqc.(25 pts.) |  "<<p->valeur_j1[9]<<"\t\t"<<p->valeur_j2[9]<<endl;
    cout<<" Haute          |  "<<p->valeur_j1[10]<<"\t\t"<<p->valeur_j2[10]<<endl;
    cout<<" Basse          |  "<<p->valeur_j1[11]<<"\t\t"<<p->valeur_j2[11]<<endl;
    cout<<" Yum  (30pts.)  |  "<<p->valeur_j1[12]<<"\t\t"<<p->valeur_j2[12]<<endl;
    cout<<"                |                            "<<endl;
    cout<<"---------------------------------------------"<<endl;
    cout<<"                |                            "<<endl;
    cout<<" Total:         |  "<<p->valeur_j1[13]<<"\t\t"<<p->valeur_j2[13]<<endl;
    cout<<endl;
}    

           
 main()
{
  Liste_Des Des;
  Pointages Points;
  
  
  int tour=0;
  char option;
  char retour;
  
  cout<<endl;    
  cout<<endl;
  cout<<"            *******************************************"<<endl;
  cout<<"            *   00    00   00    00     00     00     *"<<endl;
  cout<<"            *   00    00   00    00     00     00     *"<<endl;
  cout<<"            *    00  00    00    00    0000   0000    *"<<endl;
  cout<<"            *      00      00    00    00  0000  00   *"<<endl;
  cout<<"            *      00       000000     00   00   00   *"<<endl;
  cout<<"            *      00        0000      00        00   *"<<endl;
  cout<<"            *                                Master   *"<<endl;
  cout<<"            *******************************************"<<endl;
  cout<<endl;
  cout<<"Bienvenue au jeu de YumMaster 0.0.8 Je vous presente mon premier jeu programme"<<endl;
  cout<<"entierement fais par moi-meme.Desole si les accents n'apparessent pas. A la prochaine"<<endl; 
  cout<<"version j'esserai d'y remedier.Si vous avec deja joue au Yum tant mieux, si non"<<endl;
  cout<<"vous pouvez toujours selectionner l'option d'explication qui s'y trouve plus"<<endl;
  cout<<"loin. Ce jeu a ete realise a l'annee 2004. "<<endl;
  cout<<endl;
  system("pause");
  system("cls");
  
  cout<<endl;
  cout<<endl;
  cout<<"            Voulez-vous avoir les regles avant de jouer?(o/n)"<<endl;
  cin>>option;
  
   while(option !='o')
          {
          if(option == 'n') break;
          
          cout<<"\a";
          cout<<"Desole! Veillez recommencer votre saisi..."<<endl;
          cin>>option;
          } 
   
   while(option =='o')
    {
     system("cls");
     cout<<"Le jeu de Yum est facile a apprendre.Les regles sont tres simple.Il"<<endl;
     cout<<"se jouer a un nombre illimite de personne. Mais un minimum de deux"<<endl;
     cout<<"personnes sont requis pour jouer. Dans cette version du programme"<<endl; 
     cout<<"nous nous contenterons de seulement deux joueurs..."<<endl;
     cout<<endl;
     system("pause");
     system("cls");
     
     cout<<"Tout d'abord, se jeu se joue avec 5 dès. Cinq dès serons lance au"<<endl;
     cout<<"debut du programme.Selon le resultat optenue vous pouvez decide de"<<endl;
     cout<<"lancer tout les dès ou encore seulement quelques uns. Vous pouvez meme"<<endl; 
     cout<<"arreter de jouer si vous trouvez que le resultat est assez"<<endl; 
     cout<<"satisfaisant. Attention si vous continuer a lancer les dès, sachez"<<endl;
     cout<<"vous n'avez que deux coups pour rejouer: cela signifie que vous lancez"<<endl;
     cout<<"trois fois les dès..."<<endl;
     cout<<endl;
     system("pause");
     system("cls");
     
     cout<<"Une fois les trois coups joues, ou meme avant,vous devez choisir une des"<<endl;
     cout<<"categorie de pointages figurant sur le tableau. Pour nous assurez de"<<endl;
     cout<<"votre comprehension, nous allons faire apparaitre le tableau devant vous..."<<endl;
     cout<<endl;
     system("pause");
     system("cls");
     
     Affichage_Resultat(&Points);
     cout<<endl;
     cout<<"Comme vous pouvez le constater vous aurez 11 fois la chance de marquer des"<<endl;
     cout<<"points. Chaques themes ont leur caracteristique et vous aurez l'occasion de"<<endl;
     cout<<"choisir l'une d'elle. Toutefois vous ne pouvez pas choisir 2 fois le meme"<<endl;
     cout<<"theme. Une fois le tableau complete, celui qui obtient le plus haut score"<<endl;
     cout<<"remporte la partie..."<<endl;
     cout<<endl;
     system("pause");
     system("cls");
     
     Affichage_Resultat(&Points);
     cout<<endl;
     cout<<"La serie de dès marque lorsque vous optenez un dès egal au chiffre "<<endl;
     cout<<"demende. Exemple pour la categorie (serie de dès 3), vous optenez"<<endl;
     cout<<"un: 5,6,3,3,4. Vous marquez 2 fois!Ainsi vous multipliez par trois et vous"<<endl;
     cout<<"optenez 6 points.Si vous avez: 2,5,4,5,5. dans la (serie de dès 5) vous"<<endl;
     cout<<"optenez 15 points. Simple non?"<<endl;
     cout<<endl;
     system("pause");
     system("cls");
     
     Affichage_Resultat(&Points);
     cout<<endl;
     cout<<"Sachez que dans la serie de dès si vous vous optenez un sous-total,"<<endl;
     cout<<"plus grand ou egual a 63, vous gagnez un bonus de 25 points!!!"<<endl; 
     cout<<endl;
     system("pause");
     system("cls");
     
     Affichage_Resultat(&Points);
     cout<<endl;
     cout<<"M.p. signifie main plaine. Si vous avez 3 dès identique plus une paire"<<endl;
     cout<<"vous optenez 25 points.Si vous selectionnez et que vous n'avez pas une" <<endl; 
     cout<<"main plaine, l'afficheur donnera zero."<<endl;
     cout<<endl;
     system("pause");
     system("cls");
     
     Affichage_Resultat(&Points);
     cout<<endl;
     cout<<"Dans la seqc.(qui veut dire sequence) vous devez avoir une sequence pour marquer"<<endl;
     cout<<"25 points.Si vous selectionnez et que vous n'avez pas une sequence "<<endl;
     cout<<"l'afficheur donnera zero."<<endl;
     cout<<endl;
     system("pause");
     system("cls");
     
     Affichage_Resultat(&Points);
     cout<<endl;
     cout<<"Vous pouvez marquer en tous temps la haute. Le nombre de points sera"<<endl;
     cout<<"le nombre total des 5 dès optenues. Sachez toutefois que si vous avez"<<endl;
     cout<<"deja joue votre basse vous devez optenir une valeur plus haute que"<<endl;
     cout<<"votre basse. Dans le cas contraire vous avez zero."<<endl;
     cout<<endl;
     system("pause");
     system("cls");
     
     Affichage_Resultat(&Points);
     cout<<endl;
     cout<<"Inversement la meme chose pour la base. Vous pouvez marquer en tous temps"<<endl;
     cout<<"en consequance de la valeur de vos 5 dès. Mais si la haute a ete joue, vous"<<endl;
     cout<<"devez optenir une valeur plus basse que la haute. Dans le cas contraire"<<endl;
     cout<<"vous avez zero."<<endl;
     cout<<endl;
     system("pause");
     system("cls");
     
     Affichage_Resultat(&Points);
     cout<<endl;
     cout<<"Et enfin le Yum, vous devez optenir une valeur egal pour les cinq dès. Exemple:"<<endl;
     cout<<"3,3,3,3,3 et vous avez 30 points..."<<endl;
     cout<<endl;
     system("pause");
     system("cls");
     
     cout<<endl;
     cout<<endl;
     cout<<"Bon! J'espere que vous avez compris..."<<endl;
     cout<<endl;
     system("pause");
     system("cls");
     
     cout<<endl;
     cout<<endl;
     cout<<"Voulez vous recommencer les explications si vous avez pas compris "<<endl;
     cout<<"certain detail?(o/n)"<<endl;
     cin>>retour;
     
     while(retour !='o')
          {
          if(retour == 'n') break;
          
          cout<<"\a";
          cout<<"Desole! Veillez recommencer votre saisi..."<<endl;
          cin>>retour;
          } 
          
  if(retour =='n')
    break;
  
 }
 
 char rejouer;
 
 do
 {
     for(int x=0;x<14;x++)
     Points.valeur_j1[x]=0;

     for(int x=0;x<14;x++)
     Points.valeur_j2[x]=0;
         
     cout<<"Bonne partie..."<<endl;
     system("pause");
     system("cls");
       
  do
  {
  if(tour%2==0)
  {
      system("cls");
      cout<<endl;
      cout<<"C'est a vous de jouer..."<<endl;
      cout<<endl;
      system("pause");
      system("cls");
      
      Joueur1(&Des);
      Affichage_Resultat(&Points);
      ChoixPointage_Joueur1(&Des,&Points);
  } 
  
  else
  {
  system("cls");
  cout<<"A l'ordinateur de jouer..."<<endl;
  cout<<endl;   
  system("pause");
  system("cls");
  Ordinateur(&Des,&Points);
  Affichage_Resultat(&Points);
  cout<<endl; 
  system("pause");
  cout<<endl;
  }
   
  tour++;  
  }while(tour<22);
  system("cls");
  
  Calcul_Final(&Points);
  Affichage_Resultat(&Points); 
  
  if( Points.valeur_j1[13]>Points.valeur_j2[13])
    { 
    cout<<endl;
    cout<<"Felicitation vous gagnez!!!!"<<endl;
    }
        
  if( Points.valeur_j1[13]<Points.valeur_j2[13])
    { 
    cout<<endl;
    cout<<"Aha!! vous perdez!"<<endl;
    }    
  
  if( Points.valeur_j1[13]==Points.valeur_j2[13])
    { 
    cout<<endl;
    cout<<"Une nul?..."<<endl;
    }
        
  cout<<"Voulez-vous recommencez une autre partie?(o/n)"<<endl;
  cin>>rejouer;
  cout<<endl;
  
   while(rejouer !='o')
          {
          if(rejouer == 'n') break;
          
          cout<<"\a";
          cout<<"Desole! Veillez recommencer votre saisi..."<<endl;
          cin>>rejouer;
          } 
             
}while(rejouer=='o');
    
  system("pause");	
  return 0;
}

Conclusion :


Mise a jour tous les mois...
(enfin si j'ai le temps) :)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

kenjimax
Messages postés
82
Date d'inscription
dimanche 3 août 2003
Statut
Membre
Dernière intervention
10 août 2007
-
Bon j'ai quelques remarques à faire :

=) Tu parles d'un programme C++, mais où est la POO ? Tu n'utilises que des structures ! Le C++ est caractérisé (notamment) par la présence de "classes". Ici ton programme est un melange entre le C et le C++, c'est a dire que tu utilises une syntaxe C++ alors que ton programme est un programme C. Ce n'est pas catastrophique, mais essaye de rester propre : soit du C, soit du C++ mais pas entre les deux. Le C tout court est plus rapide que le C++.

=) tu peux gagner en lisibilité ! On ne comprend pas tout.

=) l'include process.h n'est pas obligatoire, la definition de la fonction "int system (const char*)" est faite dans le header "system.h"

=) En C++ on n'include pas iostream.h mais iostream. C'est dans la norme ISO/ANSI du C++, essaye de la respecter

=) De la meme maniere, on commmence toujours ses programmes par "using namespace std;" c'est toujours pour un soucis de respet de la norme :D

=) Il ne faut pas declarer "main()" mais au moins "int main()", en effet la fonction main renvoie toujours un entier.

=) essaye de commenter ta source ;)

A part ça, c'est pas mal ! Et ca reste compilable par tous les compilateurs si tu fais les quelques modifications dont je t'ai parlé ! Si tu veux mettre de la couleur dans ton jeu, essaye d'utiliser la libraire "econio.h" (qui remplace conio.h qui n'est pas portable sur tout les compilateurs) tu trouveras econio.h sur ce site (fais une recherche ;) )

bonne prog !
cs_arno03
Messages postés
38
Date d'inscription
jeudi 8 juillet 2004
Statut
Membre
Dernière intervention
20 juin 2010
-
tu as fais un projet DevC++ avec un fichier nommé Yum.cpp, fichier que tu as ensuite renomé en YumMaster.cpp donc forcément y'a erreur. voila c'est juste ça à rectifier, j'ai pas regardé le reste :)

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.