Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Gioco della Roulette semplificato
- *
- */
- import std;
- int estrai_numero(int min, int max)
- {
- //istanziamo un oggetto seme random hardware
- std::random_device rd{};
- //e usiamolo per inizializzare il generatore (sequenze sempre diverse)
- std::mt19937 generatore(std::random_device{}());
- //'spalma' i numeri estratti dal generatore secondo
- //una distribuzione uniforme
- std::uniform_int_distribution<> distr(min, max);
- return distr(generatore);
- }
- int leggi_intero(std::string messaggio, int min, int max)
- {
- int valore{};
- do
- {
- std::print(messaggio);
- std::cin >> valore;
- if (valore<min || valore>max)
- {
- std::println("Valore non nell'intervallo richiesto");
- }
- } while (valore<0 || valore>max);
- return valore;
- }
- auto main() -> int
- {
- const int coefficiente_vincita = 35;
- int soldi_posseduti{ 500 }; //euro
- std::println("Parti con {} euro", soldi_posseduti);
- while (soldi_posseduti > 0)
- {
- int puntata{};
- int su_cosa{};
- puntata = leggi_intero("Quanto punti (0 per smettere di giocare) -> ", 0, soldi_posseduti);
- if (char risposta{}; puntata == 0)
- {
- std::print("Sei sicuro di voler smettere di giocare (s/n) -> ");
- std::cin >> risposta;
- if (std::tolower(risposta) == 's') break;
- }
- su_cosa = leggi_intero("Su quale numero -> ", 1, 36);
- int estratto = estrai_numero(0, 36);
- std::println("E' uscito il numero {}", estratto);
- if (su_cosa == estratto)
- {
- std::print("Hai vinto, ti rimangono ");
- soldi_posseduti += coefficiente_vincita * puntata;
- //soldi_posseduti += puntata;
- }
- else
- {
- std::print("Hai perso, ti rimangono ");
- soldi_posseduti = soldi_posseduti - puntata;
- }
- std::println("{} euro\n", soldi_posseduti);
- //oppure, molto piu' compatto
- //soldi_posseduti += su_cosa == estratto ? puntata : -puntata;
- }
- std::println("{}", soldi_posseduti);
- }
Advertisement
Add Comment
Please, Sign In to add comment