Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* 24/10/2016 - Esercizio :
- Realizzare il seguente programma C++ :
- - Inializzare un vettore di stringhe con i primi due semi delle carte
- napoletane relative ai denari e coppe
- (riempire il vettore con i numeri che vanno da 1 a 10 seguiti dal nome del
- seme, es (1o, 2o, 3o)(1c,2c,3c)
- - Chiedere all'utente di scegliere tra le seguenti operazioni :
- 1) Stampare il mazzo di carte facendo attenzione a stampare le carte
- relative ori in giallo, coppe in rosso
- 2) Mescolare il mazzo di carte (almeno la metΓΒ della lunghezza del vettore)
- 3) Uscita (temporanea) -- Estrazione di una carta casuale
- */
- #include <iostream>
- #include <conio2.h>
- #include <stdlib.h>
- #include <windows.h>
- #include <time.h>
- #define N 20
- using namespace std;
- string mazzo[N]={"0o","1o","2o","3o","4o","5o","6o","7o","8o","9o","0c","1c","2c","3c","4c","5c","6c","7c","8c","9c"};
- bool mazzo2[N]={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};
- void menu();
- void stampa();
- void shuffle();
- void estrai();
- void colore(int);
- void gioca();
- void animazione();
- string carta;
- int main()
- {
- int scelta;
- srand(time(NULL));
- do{
- menu();
- cin>>scelta;
- switch(scelta)
- {
- case 1: stampa();system("pause>>null");break;
- case 2: shuffle();system("pause>>null");break;
- case 3: estrai();system("pause>>null");break;
- case 4: gioca();system("pause>>null");break;
- }
- }while(scelta!=5);
- return 0;
- }
- void menu()
- {
- system("cls");
- cout<<"Dato un mazzo di carte con semi oro e coppe, seleziona un operazione da effettuare:\n"
- <<"1. Stampa il mazzo(giallo=denari, rosso=coppe)\n"
- <<"2. Mescola il mazzo\n"
- <<"3. Estrai una carta casuale\n"
- <<"4. Gioca con il computer"
- <<"\n\n Digita l'opzione scelta :";
- }
- void stampa()
- {
- for(int i=0; i<N; i++)
- {
- colore(i);
- cout<<mazzo[i][0];
- textattr(0x7);
- cout<<" - ";
- }
- textattr(0x7);
- }
- void shuffle()
- {
- for(int i=0; i<N/2; i++)
- {
- int a=rand()%20;
- int b=rand()%20;
- string tmp=mazzo[a];
- mazzo[a]=mazzo[b];
- mazzo[b]=tmp;
- }
- }
- void estrai()
- {
- int random;
- do{
- random=rand()%20;
- colore(random);
- cout<<mazzo[random][0];
- textattr(0x7);
- if(mazzo2[random]==0)
- cout<<"\b"<<" "<<"\b";
- }while(mazzo2[random]==0);
- mazzo2[random]=0;
- carta=mazzo[random];
- }
- void colore(int randd)
- {
- if(mazzo[randd][1]=='o')
- textattr(0xe);
- else
- textattr(0xc);
- }
- void gioca()
- {
- string utente,computer;
- cout<<"\n\nClicca un tasto per estrarre una carta :";
- system("pause>>null");
- animazione();
- estrai();
- utente=carta;
- Sleep(500);
- cout<<"\nIl computer estrae una carta :";
- animazione();
- estrai();
- computer=carta;
- cout<<"\n";
- if(utente>computer)
- {
- textattr(0xa);
- cout<<"Congratulazioni! Hai vinto!";
- }
- else if(computer>utente)
- {
- textattr(0xc);
- cout<<"Mi dispiace, hai perso!";
- }
- if(computer==utente)
- {
- textattr(0xa);
- cout<<"Parita'!";
- }
- cout<<endl;
- int c=0;
- for(int i=0;i<20;i++)
- if(mazzo2[i]==1)
- c++;
- textattr(0x7);
- cout<<"\nCarte rimanenti :"<<c;
- }
- void animazione()
- {
- for(int i=0; i<20; i++)
- {
- int randd;
- do{
- randd=rand()%20;
- }while(mazzo2[randd]==0);
- colore(randd);
- cout<<mazzo[randd][0];
- Sleep(i*3);
- cout<<"\b";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement