Advertisement
Guest User

Untitled

a guest
Oct 26th, 2016
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.29 KB | None | 0 0
  1. /* 24/10/2016 - Esercizio :
  2. Realizzare il seguente programma C++ :
  3. - Inializzare un vettore di stringhe con i primi due semi delle carte
  4.   napoletane relative ai denari e coppe
  5.   (riempire il vettore con i numeri che vanno da 1 a 10 seguiti dal nome del
  6.    seme, es (1o, 2o, 3o)(1c,2c,3c)
  7.  
  8. - Chiedere all'utente di scegliere tra le seguenti operazioni :
  9.   1) Stampare il mazzo di carte facendo attenzione a stampare le carte
  10.      relative ori in giallo, coppe in rosso
  11.   2) Mescolare il mazzo di carte (almeno la metà della lunghezza del vettore)
  12.   3) Uscita (temporanea) -- Estrazione di una carta casuale
  13. */
  14. #include <iostream>
  15. #include <conio2.h>
  16. #include <stdlib.h>
  17. #include <windows.h>
  18. #include <time.h>
  19.  
  20. #define N 20
  21. using namespace std;
  22. string mazzo[N]={"0o","1o","2o","3o","4o","5o","6o","7o","8o","9o","0c","1c","2c","3c","4c","5c","6c","7c","8c","9c"};
  23. bool mazzo2[N]={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};
  24.  
  25. void menu();
  26. void stampa();
  27. void shuffle();
  28. void estrai();
  29. void colore(int);
  30. void gioca();
  31. void animazione();
  32. string carta;
  33. int main()
  34. {
  35.     int scelta;
  36.     srand(time(NULL));
  37.     do{
  38.         menu();
  39.        
  40.         cin>>scelta;
  41.        
  42.         switch(scelta)
  43.         {
  44.             case 1: stampa();system("pause>>null");break;
  45.             case 2: shuffle();system("pause>>null");break;
  46.             case 3: estrai();system("pause>>null");break;
  47.             case 4: gioca();system("pause>>null");break;
  48.         }
  49.     }while(scelta!=5);
  50.  return 0;
  51. }
  52.  
  53. void menu()
  54. {
  55.     system("cls");
  56.     cout<<"Dato un mazzo di carte con semi oro e coppe, seleziona un operazione da effettuare:\n"
  57.         <<"1. Stampa il mazzo(giallo=denari, rosso=coppe)\n"
  58.         <<"2. Mescola il mazzo\n"
  59.         <<"3. Estrai una carta casuale\n"
  60.         <<"4. Gioca con il computer"
  61.         <<"\n\n Digita l'opzione scelta :";
  62. }
  63.  
  64. void stampa()
  65. {
  66.     for(int i=0; i<N; i++)
  67.     {
  68.         colore(i); 
  69.         cout<<mazzo[i][0];
  70.         textattr(0x7);
  71.         cout<<" - ";
  72.     }
  73.    
  74. textattr(0x7);
  75. }
  76.  
  77. void shuffle()
  78. {
  79.     for(int i=0; i<N/2; i++)
  80.     {
  81.         int a=rand()%20;
  82.         int b=rand()%20;
  83.        
  84.         string tmp=mazzo[a];
  85.         mazzo[a]=mazzo[b];
  86.         mazzo[b]=tmp;
  87.     }
  88. }
  89.  
  90. void estrai()
  91. {
  92.     int random;
  93.     do{
  94.     random=rand()%20;
  95.     colore(random);
  96.     cout<<mazzo[random][0];
  97.     textattr(0x7);
  98.     if(mazzo2[random]==0)
  99.     cout<<"\b"<<" "<<"\b";
  100.     }while(mazzo2[random]==0);
  101.     mazzo2[random]=0;
  102.     carta=mazzo[random];
  103. }
  104.  
  105. void colore(int randd)
  106. {
  107.         if(mazzo[randd][1]=='o')
  108.         textattr(0xe);
  109.         else
  110.         textattr(0xc);
  111. }
  112.  
  113. void gioca()
  114. {
  115.  
  116.     string utente,computer;
  117.     cout<<"\n\nClicca un tasto per estrarre una carta :";
  118.     system("pause>>null");
  119.         animazione();
  120.         estrai();
  121.         utente=carta;
  122.        
  123.     Sleep(500);
  124.     cout<<"\nIl computer estrae una carta :";
  125.    
  126.         animazione();
  127.         estrai();
  128.         computer=carta;
  129.     cout<<"\n";
  130.     if(utente>computer)
  131.     {
  132.         textattr(0xa);
  133.         cout<<"Congratulazioni! Hai vinto!";
  134.     }
  135.  
  136.     else if(computer>utente)
  137.     {
  138.         textattr(0xc);
  139.         cout<<"Mi dispiace, hai perso!";
  140.     }
  141.    
  142.     if(computer==utente)
  143.     {
  144.         textattr(0xa);
  145.         cout<<"Parita'!";
  146.     }
  147.    
  148.    
  149.     cout<<endl;
  150.     int c=0;
  151.    
  152.         for(int i=0;i<20;i++)
  153.         if(mazzo2[i]==1)
  154.         c++;
  155.        
  156.     textattr(0x7);
  157.     cout<<"\nCarte rimanenti :"<<c;
  158.  
  159. }
  160.  
  161. void animazione()
  162. {
  163.     for(int i=0; i<20; i++)
  164.     {
  165.         int randd;
  166.         do{
  167.             randd=rand()%20;
  168.         }while(mazzo2[randd]==0);
  169.         colore(randd);
  170.         cout<<mazzo[randd][0];
  171.        
  172.         Sleep(i*3);
  173.         cout<<"\b";
  174.     }
  175. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement