codice:
//main.cpp
int main()
{
      mazzo carte;
      giocatore player1;
      //arbitro giudice;

      carte.setMescola();

      player1.setPesca(carte);
      //player1.setCambia();
      player1.getCarte(carte);

      //giudice.controlla(); 
       
      system("PAUSE");	
      return 0;
}
codice:
//giocatore.h
#ifndef GIOCATORE
#define GIOCATORE

class giocatore {

      public:
      void setPesca(const mazzo &);
      void setCambia();
      void getCarte(const mazzo &);

      private:
      int cartemano[5][2];
};

#endif
codice:
#ifndef MAZZO
#define MAZZO
//mazzo.h
class mazzo {
      friend class giocatore;

      public:
      void setMescola(); //Mescola il mazzo
      mazzo();

      private:
      const char *seme[4];
      const char *numero[7];
      int deck[4][7];
      void setAzzeraMazzo(); //Azzera il mazzo
};

#endif
codice:
//giocatore.cpp
void giocatore::setPesca(const mazzo &carte) {
    int row, column, card;

   for (card = 1; card <= 5; card++ )

      for (row = 0; row <= 3; row++ )

         for (column = 0; column <= 6; column++ )

            if ( carte.deck[ row ][ column ] == card ) {
               cartemano[card-1][0] = row;
               cartemano[card-1][1] = column;
            }
}

void giocatore::getCarte(const mazzo &carte) {
    int i;
    
    cout << "Le carte che hai in mano sono:" << endl;
    for (i = 0; i < 5; i++)
        cout << carte.seme[cartemano[i][0]] << " " << carte.numero[cartemano[i][1]] << endl;
}
codice:
//mazzo.cpp
mazzo::mazzo() {
      seme[0] = "Cuori";
      seme[1] = "Mattoni";
      seme[2] = "Picche";
      seme[3] = "Fiori";
      numero[0] = "Asso";
      numero[1] = "Re";
      numero[2] = "Donna";
      numero[3] = "Jack";
      numero[4] = "Dieci";
      numero[5] = "Nove";
      numero[6] = "Otto";
      setAzzeraMazzo();
}

void mazzo::setMescola()
{
   int row, column;

   setAzzeraMazzo();

   srand( time(0) );

   for (int card = 1; card <= 28; card++) {
      do {
         row = rand() % 4;
         column = rand() % 13;
      }
      while( deck[ row ][ column ] != 0 );

      deck[ row ][ column ] = card;
   }
}

void mazzo::setAzzeraMazzo() {
   int row, column;

   for (row = 0; row <= 3; row++)
       for (column = 0; column <= 6; column++)
           deck[ row ][ column ] = 0;
}