Funktion über Zeitspanne gleichverteilt aufrufen



  • Aber boost::thread::get_system_time() sollte schon einmal einen Tipp geben, wie man Zeit speichert.



  • zween schrieb:

    hmm danke aber damit funktionierts irgendwie nich so wirklich 😞

    Du musst schon Code zeigen was du machst, sonst kann dir nicht geholfen werden.



  • do{
    			cout << "Wuerfeln? (j/n)";
    			cin >> würfel;
    			if (würfel == 'j'){
    
    				srand( time(NULL) );
    gettime //zeitspeichern ka wie, if(time>5min) ausgabe w1=3 und w2=3, danach zeit resetten und neustart nach erneutem würfeln.
    				int w1 = rand() % 6 + 1;
    				int w2 = rand() % 6 + 1;
    				cout << "Wuerfel 1=" << w1 << endl <<"Wuerfel 2=" << w2 << endl;
    				if (w1 == w2)
    				cout << "Pasch!" << endl;   
    			}
    		}while(würfel == 'j');
    

    ums nochmal zu erklärn: nach dem ersten mal würfeln soll der timer gestartet werden der nach ablauf der 5min beim erneuten würfeln ein 3er pasch anstatt der random variante ausgibt. danach soll der timer resettet un neu gestartet werden.



  • #include <iostream> 
    #include <cstdio>
    #include <ctime>               // contains clock() 
    
    using namespace std; 
    
    int main() 
    { 
        double tstart;      // time measurment variables 
    	char würfeln;
    
    	tstart = clock();
    	srand( time(NULL) ); 
    
    	do 
    	{ 
    		cout << "Wuerfeln? (j/n)"; 
    		cin >> würfeln; 
    
    		if (würfeln == 'j') 
    		{ 
    			if (clock() - tstart < 5000)
    			{
    				int w1 = rand() % 6 + 1; 
    				int w2 = rand() % 6 + 1; 
    				cout << "w1=" << w1 << " und w2=" << w2 << endl; 
    				if (w1 == w2) 
    				cout << "Pasch!" << endl; 
    			}
    			else
    			{
    				cout << "w1=3 und w2=3" <<  endl;
    				cout << "Pasch dank schummeln!" << endl; 
    				tstart = clock();
    			}
    		}
    	}while (würfeln == 'j');
    
        return 0; 
    }
    

    Ist doch nicht so schwer das eine und das andere zusammenzubasteln?



  • aaaah super dank dir! ich hatte einfach n fehler drin. wie gesagt bin noch blutiger anfänger 😃


Anmelden zum Antworten