000
09.08.2004, 14:50 Uhr
~(s)noopy
Gast
|
bei ewenn ich "b" eingebe zählt mein counter hoch und ich habe keine ahnung warum? ich werd da langsam verrückt findet jemand den fehler, ich bin noch anfänger, und sowas ist entmutigend.
hier der code. thx im voraus
C++: |
int zufallsbegrenzer; string shiffrierteswort; //////////////////////////////////////////////////////////////////////////////// unsigned int randzahl (int bereich) { long sek; time(&sek); srand( (unsigned) sek); //srand (time (0)); int zufall = 1 + ( rand() % bereich ); //return zufall; } //////////////////////////////////////////////////////////////////////////////// string wordlist (int zZahl) { vector<string> contents;
ifstream FileIn("wordlist.txt"); if (FileIn) // Falls FileIn gültig ist. { // Solange kein Fehler auftritt und nicht eof for (string ReadString; getline(FileIn, ReadString); ) contents.push_back(ReadString); // Aktuelle Zeile in den Vektor einfügen } zufallsbegrenzer = contents.size(); return contents[zZahl]; } //////////////////////////////////////////////////////////////////////////////// void ausgabewort ( int Laenge, short durchgangscounter ) { int x; shiffrierteswort = (""); cout<<"Sie haben "<< 2 * Laenge <<" Versuche!" <<"\nWort: ";
//cout<<"Noch 16 Versuche!" //<<"\nWort: "; for ( x = 0; x < Laenge; x++ ) { shiffrierteswort += ("-"); cout<<"-"; } cout<<endl; } //////////////////////////////////////////////////////////////////////////////// void hangman ( int hangmannummer ) { switch ( hangmannummer ) {..................................................................................... } } ////////////////////////////////////////////////////////////////////////////////
int main(/*int argc, char *argv[]*/) { bool spiel = false; int x; int rand; short durchgangscounter = 0; wordlist (1); //um "zufallsbegrenzer" zu initialisieren, verbesserungsbedürftig string ratewort = wordlist( randzahl ( zufallsbegrenzer ) ); string eingabe; ausgabewort ( ratewort.length(), durchgangscounter ); while ( eingabe != "exit" && eingabe.length() < 2 ) { hangman ( durchgangscounter ); ++durchgangscounter; cin>>eingabe; for ( x = 0; x < ratewort.length(); x++ ) { if ( eingabe[0] == ratewort[x] ) { shiffrierteswort.replace ( x, 1, eingabe ); durchgangscounter--; } } system ( "cls" ); cout<<"Noch "<< 2 * ratewort.length() - durchgangscounter <<" Versuche!" <<"\nWort: "<<shiffrierteswort<<endl; if ( ratewort == shiffrierteswort ) { cout<<"\n\ngewonnen\n"; break; } if ( durchgangscounter == 2*ratewort.length() - 1 ) break; } system("PAUSE"); return 0; }
|
Bearbeitung von Windalf: |
Bitte Codetags verwenden...
|
Dieser Post wurde am 09.08.2004 um 15:49 Uhr von Windalf editiert. |