Hamstersimulator while?
void main() {
while(vornFrei() == true) {
vor();
}
if(kornDa() == true) {
nimm();
}
}
// warum nimmt meine Hamster die Körner am weg nicht mit? Kann mir wer helfen?
2 Antworten
Vom Beitragsersteller als hilfreich ausgezeichnet
weil dein if nach der while schleife steht, es muss aber rein, um nach jedem schritt aufgerufen zu werden. So wird es nur ein einziges mal aufgerufen, nämlich wenn der Hamster vor einem nicht-freien Feld steht
Pferdelilly
20.10.2018, 11:50
@Pferdelilly
hier wird das if(kornDa()) schon vor dem ersten Schritt aufgerufen, falls auf dem ersten Feld direkt ein Korn liegt. Die ==true kannst du dir sparen, da die Funktion eh schon ein boolean zurückgibt und das deshalb ausreicht.
Es wäre gut den gesamten Quellcode zu sehen.
void main() {
while(vornFrei()) {
if(kornDa()) {
nimm();
}
vor();
}
}
so sollte es funktionieren