ho messo tutto in un unico file...
codice:
//fight game
#include <iostream>
#include <string>
#include <time.h>
//begin
using namespace std;
enum Status { CONTINUA , LASCIA};
istream& operator >> (istream& is, enum Status& e)
{
string s;
while(s != "CONTINUA" && s!= "LASCIA")
is >> s;
if (s=="CONTINUA") e = CONTINUA;
else e = LASCIA;
return is;
}
int main()
{
srand (time (0) );
int i , d ,v , life , life1; // dichiarazione variabili
Status gamestatus;
cout << "schiaccia un tasto per iniziare" << endl;
life = 100; // inizializzazione delle variabili
life1 = 100;
gamestatus = CONTINUA;
cin.sync_with_stdio ();
while (gamestatus == CONTINUA){ // ciclo del gioco
while ( life > 0 && life1 > 0) //ciclo della vita
{
cout << "hai un nemico davanti a te!" << endl;
cout << "schiaccia un numero" << endl;
cin.setf(ios_base::dec, ios_base::basefield );
do{
cin.clear(ios_base::goodbit);
cin.sync();
cin >> i;
if(!cin.good())
cout << "Ho detto un numero..." << endl;
}while(!cin.good());
v= i + rand()%9;
d= i + rand()%9;
if (d > 0)
{
if (i > v)
cout <<"vita " << (life -= 10) << " - vita avversario " << life1 << endl;
else cout <<"vita " << life << " - vita avversario " << (life1 -= 10) << endl;
}
else
{
if (i < v)
cout <<"vita " << life << " - vita avversario " << (life1 -= 10) << endl;
else
cout <<"vita " << (life -= 10) << " - vita avversario " << life1 << endl;
}
}
if (life > 0) cout << "hai vinto!" << endl;
else cout <<"hai perso!" << endl;
cout << "vuoi giocare ancora? (CONTINUA/LASCIA)" << endl; //conclusione ciclo di gioco
cin >> gamestatus;
}
return 0;
}
comunque l'algoritmo del gioco è tale che se uno lo conosce vince sempre.... andrebbe cambiato