Salve sto svillupando una funzione di blackjack però arrivato alla riga 54 (ovvero dove si trova il while) si ferma senza restituire errori.
C++:
void blackjack()
{
string carte[4]={"Cuori","Picche","Fiori","Quadri"};
string valori[3]={"Regina","Re","Fante"};
bool selezione=true;
int ris_carte_simb,ris_carte,scelta,valore,ris_carte_player,valore_ris,ris_carte_mano,scommessa,carte_player=0,carte_mano=0,vincita;
cout<<"Benvuto/a in blackjack"<<endl;
cout<<"quanto vuoi puntare? ";
cin>>scommessa;
ris_carte_simb = rand() % 4;
ris_carte_player=rand() % 10+1;
if(ris_carte_player==10)
{
valore=rand() % 4;
if(valore== 1 || valore== 2 || valore== 3)
{
valore_ris=valore;
}
}
carte_player++;
//cout<<carte[ris_carte_simb];,
cout<<"la tua mano e' "<< ris_carte_player <<" di "<< carte[ris_carte_simb] <<valori[valore_ris];
while(selezione==true)
{
cout<<"1. prendi una carte. 2.stai. 3.raddoppia";
switch(selezione)
{
case 1:ris_carte=ris_carte+rand() % 10+1;
carte_player++;
cout<<"la tua mano e' "<< ris_carte_player <<" di "<< carte[ris_carte_simb] <<valori[valore_ris];
break;
case 2: selezione=false;
break;
case 3: if(carte_player>=2)
{
ris_carte=ris_carte+rand() % 10+1;
scommessa=scommessa*2;
carte_player++;
cout<<"la tua mano e' "<< ris_carte_player <<" di "<< carte[ris_carte_simb] <<valori[valore_ris];
system("pause");
break;
}
default: cout<<"Non ho capito cosa vuoi fare, riprova!";
}
}
while(carte_player>carte_mano)
{
carte_mano++;
ris_carte_mano=rand() % 10+1;
}
if(ris_carte_player>21)
{
cout<<"mi dispiace, hai perso! ";
}
if(ris_carte_manor>21)
{
cout<<"La mano ha fatto più di 21,hai vinto!";
}
if(ris_carte_player>ris_carte_mano)
{
cout<<"hai vinto!";
}
if(ris_carte_player<ris_carte_mano)
{
cout<<"hai perso!";
}
}