Mani Geschrieben 7. März 2004 Geschrieben 7. März 2004 Hi, hab mal veruscht ein Programm zu schreiben, was demn Programm Mastermind ähneln soll, hier ein kleiner ausschnitt: / Die Zähl-Schleifen sind dafür zuständig, die 16 Versuche des Users zu ermöglichen. do{ for (y=1;y<=16;y++) { //Counter für Versuchszähler z=z++; for (x=0;x<=3;x++) { // Hier wird der User aufgefordert seine Ratezahlen einzugeben. do { //Ausgabe Versuche zählen cout<<"Sie sind beim "<<z<<". Versuch \n"<<endl; cout<<"Gib die "<<x+1<<". Zahl ein"<<endl; cin>>feld[x][y]; //Falls die Zahlen groesser als 6, oder kleiner als 1 sind, erscheint eine Fehlermeldung if ((feld[x][y] < 1) || (feld[x][y] > 6)) { cout<< "Sorry, aber es sind nur Zahlen zwischen 1 und 6 zulaessig!\n"; system("Pause"); } system("CLS"); }while((feld[x][y] < 1) || (feld[x][y] > 6)); // Hier werden die Ratezahlen mit der Zufallszahl verglichen und die // dementsprechenden Hilfszahlen (0,1,2) ins Hilfsfeld geschrieben if (feld[x][y]==feld[0][0]||feld[x][y]==feld[1][0]||feld[x][y]==feld[2][0]||feld[x][y]==feld[3][0]) { feldhilf[x][y]=1; cout<<feldhilf[x][y]<<endl; } if (feld[x][y]==feld[x][0]) { feldhilf[x][y]=2; cout<<feldhilf[x][y]<<endl; } if((feldhilf[0][y]&&feldhilf[1][y]&&feldhilf[2][y]&&feldhilf[3][y]==2)) { cout<<"Super, Sie haben den Mastermind Code geknackt!!!\n\n\n\n"; system("PAUSE"); system("CLS"); break; } if(z==16) { cout<<"Wenn Sie es jetzt nicht schaffen, den Code zu knacken,\n"; cout<<"kann Ich ihnen auch nicht mehr helfen!\n\n"; } cout<<feld[0][y]<<feld[1][y]<<feld[2][y]<<feld[3][y]<< " <<<Eingabefeld Hilfsfeld>>> " <<feldhilf[0][y]<<feldhilf[1][y]<<feldhilf[2][y]<<feldhilf[3][y]<<endl; } } }while((feldhilf[0][y]&&feldhilf[1][y]&&feldhilf[2][y]&&feldhilf[3][y]==2)); So und hier hab ich das problem, das wenn ein user den code beim 4. Verusch zum beispiel die meldung das er den code gecknackthat, jedoch wird nicht aus der for schleife rausgegangen und man muss dann noch die restlichen verushcen durchgegehn(bis 16 ) Wenn der user die messsage bekommt, dass er den code geknackt hat, so soll er auch aus der schleife raus und zurück ins hauptmenue gelangen, klappt aber nit!!!! danke schon mal für eure Hilfe!!!!! Zitieren
Mani Geschrieben 7. März 2004 Autor Geschrieben 7. März 2004 Sorry für die vielen grammatikfehler, bin irgendwie noch n bissl voll:) Zitieren
dgr243 Geschrieben 7. März 2004 Geschrieben 7. März 2004 Ohne mir den Code durchgelesen zu haben (ja ich gebs ja zu :floet:): Mach dir ne Triggervariable. Die setzt du auf True, wenn der Code geknackt ist. Ist die Triggervariable dann auf True setzte den Zähler am Ende der for Schleife auf 16 und aus die Maus Zitieren
dgr243 Geschrieben 7. März 2004 Geschrieben 7. März 2004 Original geschrieben von Mani Watn n triggervaribale ?? Nee boolsche Variable die du benutzt um bestimmte Ereignisse zu überwachen oder auszulösen .. zu triggern halt Die brauchste aber gar nicht merk ich grad :floet: Also du überprüfst am Ende der for Schleife die die 16 Versuche zählt, ob der Code geknackt wurde. (if abfrage) Wurde er geknackt setzt du den Schleifenzähler auf 16 (=Endwert) und die Schleife läuft nich nochma. Wenn nicht dann läuft die Schleife halt nochmal ... Zitieren
Mani Geschrieben 7. März 2004 Autor Geschrieben 7. März 2004 Big thx!! bin glaubich echt noch zu voll um wat auf die beine zu stellen!:beagolisc Zitieren
dgr243 Geschrieben 7. März 2004 Geschrieben 7. März 2004 Kein Problem .. Dafür simma ja da (ja ich muss das letzte Wort haben Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.