#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

/*
Il gioco dei dadi CRAPS viene giocato con due dadi. 
Ogni volta che i dadi vengono gettati, ne vengono sommati i due numeri ottenuti; 
la somma sarà un intero compreso tra 2 e 12. 
Il giocatore vince immediatamente se ottiene come punteggio un 7 oppure un 11; 
perde immediatamente se ottiene 2, 3 oppure 12.
Se il giocatore ottiene 4, 5, 6, 8, 9, 10 deve ricordare questo punteggio (sia P) 
e ripetere il lancio dei dadi finché vince ottenendo ancora come punteggio P
oppure perde ottenendo un 7.
*/


int main() 
{
	// Impostazione del seme per la generazione di numeri casuali
    srand(time(0));
	// Lancio dei due dadi
    int dado1 = 1 + rand()%6;
    int dado2 = 1 + rand()%6;
	
	//Calcolo del punteggio come somma dei due numeri
    int punteggio1 = dado1+dado2;
    cout<<"Hai ottenuto "<<punteggio1<<endl;
    
	//Se il punteggio è 7 o 11 -> HAI VINTO
    if( punteggio1 == 7 || punteggio1 == 11 )
        cout<<"Hai vinto"<<endl;
	//Se il punteggio è 2 o 3 o 12 -> HAI PERSO
    else if ( punteggio1 == 2 || punteggio1 == 3  || punteggio1 == 12)
		cout<<"Hai perso"<<endl;
    else // Altrimenti
	{	
		cout<<"Ritenta"<<endl;  
		//Finchè il nuovo punteggio è diverso da 7 e dal primo punteggio
		int punteggio2 = 0; 
		while ( punteggio2 != 7 && punteggio2 != punteggio1 )
		{
			//Lancio dei due dadi
			cout <<"Devi rilanciare i dadi "<<endl;
			dado1 =1 + rand()%6;
			dado2 =1 + rand()%6;
			//Calcolo del nuovo punteggio come somma dei due numeri
			punteggio2 = dado1+dado2;
			cout <<"Hai ottenuto " <<punteggio2<<endl;
		}
		//Se il nuovo punteggio e’ uguale al primo punteggio -> HAI VINTO
		if (punteggio2 == punteggio1)
			cout<<"Hai vinto"<<endl;
		else //Se il nuovo punteggio e’ 7 -> HAI PERSO
			cout<<"Hai perso"<<endl;
	}
    return 0;
}
