Hamster-Simulator: Habe ich die Aufgabe richtig gelöst, Freunde?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Ob das Programm korrekt funktioniert, kannst du im Hamster-Simulator doch eigentlich selbst testen.

So beim Überfliegen über den Code sehe ich allerdings nicht, wo du die Option handhabst, dass das Bad entweder 3 oder 4 Felder tief sein könnte. Dafür sind nämlich die Auswahlanweisungen gedacht: In der dritten Ebene solltest du prüfen, ob der Hamster noch eine Ebene tiefer gehen kann oder nicht.

Im Übrigen würde ich dir empfehlen, das Programm in mehr Funktionen aufzusplitten. Zum einen könntest du dir Funktionen schreiben, die sich mit den einzelnen Arbeitsschritten allgemein befassen, die zu leisten sind: holeKoerner, geheZuBadeWanne, fuelleReihe). Zum anderen könntest du selbst eine Funktion wie vorGib nochmals mit einer Hilfsfunktion kürzen:

void vorGib() {
  vor();
  gib();
}

void dreiVorGib() {
  vorGib();
  vorGib();
  vorGib();
}

Bei dem if, welches du einmal verwendest, ist der Code nicht eingerückt. Es sieht so aus, als würde dort die main-Funktion geschlossen werden.

void main() {
  // ...
  
  if (!maulLeer()) {
    gib();
  }
  
  // ...
}
Unbekannte100 
Fragesteller
 08.09.2019, 15:19

Okay dankeschön :)

0
Unbekannte100 
Fragesteller
 08.09.2019, 15:21

aber wie macht man das denn dass das halt entweder 4oder 3 felder tief sein kann

0
regex9  08.09.2019, 15:35
@Unbekannte100

Es gibt die Funktion vornFrei, mit der man prüfen kann, ob der Hamster gerade vor einer Wand steht oder nicht.

if (vornFrei()) {
  vor();
}
1