#include <fstream>
#include <iostream>
using namespace std;
int main()
{
//dichiaro i numeri
int n01;
int n02;
int n03;
int n04;
int n05;
int n06;
int n07;
int n08;
int n09;
//dichiaro due stringhe che mi permettono di andare avanti con il gioco
string s1;
string s2;
do {
//apro il file machine.txt che contiene il numero di gettoni
int tmachine;
ifstream tokensmachine ("machine.txt");
tokensmachine >> tmachine;
tokensmachine.close();
//gettoni dell'utente
int tmember;
ifstream tokensmember ("tokens.txt");
tokensmember >> tmember;
tokensmember.close();
//vincite
int win1 = 8;
int win2 = 4;
int win3 = 1;
//...
int numberw;
int totokens;
//randomizzo i numeri che ho dichiarato all'inizio
n01 = rand() % 3 + 1;
n02 = rand() % 3 + 1;
n03 = rand() % 3 + 1;
n04 = rand() % 3 + 1;
n05 = rand() % 3 + 1;
n06 = rand() % 3 + 1;
n07 = rand() % 3 + 1;
n08 = rand() % 3 + 1;
n09 = rand() % 3 + 1;
//stampo il numero di gettoni in palio e se l'utente vuole spendere un gettone per giocare
cout << "Montepremi: " << tmachine << " gettoni! ";
cout << "Gettoni che possiedi: " << tmember << "!" << endl;
cout << "Vuoi tentare la fortuna inserendo un gettone nella macchinetta? [s/n] ";
cin >> s1;
//se l'utente inserisce il gettone procedo con il gioco
if (s1 == "s") {
//salvo machine.txt con un gettone in più rispetto a prima
int addtokens = 1+tmachine;
ofstream addtokensmachine ("machine.txt");
addtokensmachine << addtokens;
addtokensmachine.close();
//salvo tokens,txt con un gettone in meno
int reltokens = tmember-1;
ofstream reltokensmember ("tokens.txt");
reltokensmember << reltokens;
reltokensmember.close();
//stampo i numeri random in tre colonne e tre righe
cout << " " << n01 << " " << n02 << " " << n03 << "" << endl;
cout << " " << n04 << " " << n05 << " " << n06 << "" << endl;
cout << " " << n07 << " " << n08 << " " << n09 << "" << endl;
//se una delle tre righe é uguale es: 3 3 3 il giocatore vince
if (n01 == n02 && n01 == n03) {
numberw = n01;
if (numberw == 3)
totokens = win1;
else if (numberw == 2)
totokens = win2;
else if (numberw == 1)
totokens = win3;
cout << "Complimenti! Hai vinto " << totokens << " gettoni!" << endl;
} else if (n04 == n05 && n04 == n06) {
numberw = n01;
if (numberw == 3)
totokens = win1;
else if (numberw == 2)
totokens = win2;
else if (numberw == 1)
totokens = win3;
cout << "Complimenti! Hai vinto " << totokens << " gettoni!" << endl;
} else if (n07 == n08 && n07 == n09) {
numberw = n01;
if (numberw == 3)
totokens = win1;
else if (numberw == 2)
totokens = win2;
else if (numberw == 1)
totokens = win3;
cout << "Complimenti! Hai vinto " << totokens << " gettoni!" << endl;
} else {
cout << "Sei stato sfortunato! Riprova!" << endl;
numberw = 0;
}
//se la vincita e maggiore di 0 salvo il risultato sul file
if (numberw > 0) {
ofstream addtokensmember ("tokens.txt");
addtokensmember << tmember+totokens;
addtokensmember.close();
ofstream reltokensmachine ("machine.txt");
reltokensmachine << tmachine-totokens;
reltokensmember.close();
}
}
cout << "Vuoi ritentare? [s/n] ";
cin >> s2;
cout << endl << endl;
} while(s2 == "s"); //se il giocatore vuole ritentare il ciclo rinizia da capo
return 0;
}