Nimm Spiel.
-
Hi,
Ich habe nur eine kleine Frage und zwar geht es hier um dieses Programm:
#include <iostream> using namespace std; int schluss; int zugMensch(int anzahlDerMuenzen) { int ergebnis; cout<<"Jetzt liegen "<<anzahlDerMuenzen<<" Muenzen auf dem Tisch."<<endl; cout<<"Wieviele moechten Sie nehmen? "; cin>>ergebnis; if (ergebnis>3) { cout << "Sie dürfen nur maximal 3 Muenzen nehmen!!!" << endl; } return ergebnis; } int zugRechner(int anzahlDerMuenzen) { int wunschZug=anzahlDerMuenzen%4; if(wunschZug==0) return 1; else return wunschZug; } int main() { int anzahldermuenzen; // Eingabe der Anfangs-Münzenanzahl cout<<"Mit wievielen Muenzen fangen wir an? "; cin>>anzahldermuenzen; // endlosschleife while(true) { anzahldermuenzen=anzahldermuenzen-zugRechner(anzahldermuenzen); if(anzahldermuenzen==0) { cout<<"Ich habe gewonnen!"<<endl; } anzahldermuenzen=anzahldermuenzen-zugMensch(anzahldermuenzen); if(anzahldermuenzen==0) { cout<<"Sie haben gewonnen!"<<endl; } } } int funktionschluss() { cout << "Bitte eine Zahl eingeben um das Programm zu beenden!!!" << endl; cin >> schluss; }
Falls der Spieler mehr als 3 Münzen nimmt habe ich die Nachricht "Sie dürfen nur maximal 3 Münzen nehmen" einbauen. Aber man könnte jetzt trotzdem schummeln und ich will wissen wie ich das verhindern kann. Also der Spieler soll praktisch zum letzten Zug zurück kommen...
-
du könntest eine Whileschleife um die Eingabe schreiben, die das Zahleneintragen solange wiederholt bis <= 3 eingegeben wurde. Is wohl die einfachste Variante.
-
Ok.
Danke für die Antwort!