AutoFeedback API

Result 42353ff6-59d4-4de3-93e9-e0a6e80ccc23

{
  "llm" : {
    "feedback" : "# Exercise: parking\n\n### Correctness\n- In `FlatRateCard` ist die Monatsgebühr zwar korrekt fix auf 150 CHF, aber deine Implementierung sammelt trotzdem Parkzeit (`totalTime`) – das widerspricht der Idee eines Abos (Zeit sollte für die Kosten keine Rolle spielen) und kann je nach Tests/Erwartungen als falsches Verhalten gewertet werden.\n- In `GroupCard` erlaubst du `person == 0` (du prüfst nur `< 0`), die Tabelle spricht aber von “bis 5” Personen (impliziert i.d.R. mindestens 1 Person); je nach Aufgabenannahme könnte 0 Personen als ungültig gelten.\n\n### Suggestion\n- Überlege bei der `FlatRateCard`, ob du überhaupt irgendeinen Zustand (wie `totalTime`) speichern musst, wenn `cost()` immer gleich ist und Parken keine Kostenänderung bewirkt.\n- Prüfe bei `GroupCard`, welche Werte für “Anzahl Personen” sinnvoll/erlaubt sind (insbesondere der Randfall 0) und gleiche das mit der Tariftabelle bzw. der Aufgabenformulierung ab.\n\n### Code Style\n- In `FlatRateCard` ist `totalTime` aktuell ungenutzt für die Preisberechnung; wenn du ihn nicht brauchst, entferne ihn, damit die Klasse klarer und wartbarer wird.\n- In `GroupCard` wäre der Feldname `person` als Anzahl eher plural/sprechender (z.B. “persons/peopleCount”); so wird sofort klar, dass es eine Anzahl ist.\n\n\n# Exercise: labyrinth\n\n### Correctness\n- `TryStraightFirst` erfüllt die Anforderung „Sollte das alles nicht gehen, soll die Figur rechtsum kehrt machen“ nicht: Wenn weder vorne noch links noch rechts ein Pfad ist, endet deine Schleifeniteration ohne Bewegung/Rotation und läuft dann in einer Endlosschleife weiter.\n- `TryStraightFirst` bewegt nach einem Links-/Rechts-Dreh nicht sofort nach vorne; dadurch kann es passieren, dass die Figur zwar richtig dreht, aber dann im nächsten Durchlauf wieder nur dreht bzw. in manchen Situationen nicht wie gefordert „links oder rechts versucht“ (im Sinne von: dorthin gehen) umsetzt.\n- In `LabyrinthApp` ist `navi` direkt auf `TryStraightFirst` gesetzt; damit wird der geforderte Schritt aus Teil (a) („erst StupidAlgorithm einsetzen und Level 1 schaffen“) nicht mehr nachvollziehbar umgesetzt.\n\n### Suggestion\n- Überlege dir für `TryStraightFirst` eine „Fallback“-Aktion für den Fall, dass `pathAhead()`, `pathToTheLeft()` und `pathToTheRight()` alle `false` sind: Welche Drehung(en) ergeben zusammen eine Kehrtwende?\n- Prüfe, was „links oder rechts versucht“ konkret bedeutet: Reicht nur drehen, oder muss danach auch ein Schritt erfolgen, um den alternativen Pfad wirklich zu nehmen?\n- Wenn du Teil (a) zeigen willst: Stelle sicher, dass man in `main` leicht zwischen den Algorithmen wechseln kann (z.B. erst `StupidAlgorithm`, danach ersetzen).\n\n### Code Style\n- In `TryStraightFirst` ist die innere `while(figure.pathAhead())` etwas ungewohnt, weil sie mehrere Schritte am Stück macht; das macht das Debuggen/Verstehen pro „Schleifendurchlauf“ schwieriger. Eine einheitliche „ein Schritt pro Iteration“-Struktur wäre leichter nachvollziehbar.\n- Kleine Konsistenz: Leerzeichen vor `{` und nach `while`/`if` sind teils uneinheitlich (z.B. `implements NaviAlgorithm{` vs. `implements NaviAlgorithm {`).\n\n\n# Exercise: swissmap\n\nLlm Evaluation ist für diese Aufgabe deaktiviert. Entferne die .llmignore Datei vom Package der Aufgabe.\n\n\n# Exercise: visualizer\n\nLlm Evaluation ist für diese Aufgabe deaktiviert. Entferne die .llmignore Datei vom Package der Aufgabe.\n",
    "status" : "SUCCESS"
  }
}