Pagina 3 di 3 primaprima 1 2 3
Visualizzazione dei risultati da 21 a 24 su 24
  1. #21

    ok

    adesso non ci sono + errori di sintassi.
    ma... come si fa a randomizzare un numero in modo che esso possa essere anche negativo???
    tipo -10<x<10

    grazie ciao

  2. #22
    Ho provato il tuo gioco, vinco sempre!

    C'è un bug da qualche parte, inoltre non controlli che l'input di cin sia effetivamente un int (prova a digitare una lettera ...).

    i = rand() % 20 - 10;
    //restituisce un numero compreso tra -10 e 10

  3. #23

    Il tuo programma modificato

    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

  4. #24

    è VERO

    si vince sempre.
    adesso lo sistemo.
    cmq grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.