AutoFeedback API

Result c046ddae-13cb-49b3-a622-7a8ea698fb01

{
  "llm" : {
    "feedback" : "# Exercise: parking\n\n### Correctness\n- In `GroupCard` erlaubst du `person == 0` (weil du nur `person < 0` verbietest). Laut Tabelle ist der Tarif “bis 5” für Anzahl Personen, sinnvollerweise ab 1; “0 Personen” ist in der Aufgabenbeschreibung nicht vorgesehen.\n- In `FlatRateCard` implementierst du zwar korrekt die Monatskosten von 150 CHF, aber du führst zusätzlich `totalTime` und addierst in `park(...)` Zeit, obwohl das für die Kostenberechnung keinerlei Einfluss hat. Das ist nicht direkt falsch, kann aber zu Verwirrung führen, weil es nahelegt, dass die Parkzeit für das Abo relevant wäre.\n\n### Suggestion\n- Überlege dir bei `GroupCard`, welche Personenanzahlen laut Aufgabe tatsächlich zulässig sind (insbesondere die Untergrenze) und passe die Validierung im Konstruktor entsprechend an.\n- Prüfe bei `FlatRateCard`, ob du den Zustand “geparkte Minuten” überhaupt brauchst, wenn `cost()` immer fix ist; falls du ihn behältst, stelle sicher, dass klar ist, warum er existiert.\n\n### Code Style\n- In `FlatRateCard` ist `totalTime` effektiv ungenutzt (weil `cost()` konstant ist). Entfernen oder klar begründen, damit die Klasse nicht unnötig kompliziert wirkt.\n- In `GroupCard`/`IndividualCard` fehlen `@Override`-Annotationen bei `park/cost/reset`. Es kompiliert auch ohne, aber `@Override` macht Implementierungsfehler schneller sichtbar und ist üblicher Stil.\n- Benennung: `person` klingt wie “eine Person”, ist aber eine Anzahl. Ein Name wie `persons`/`personCount` wäre verständlicher.\n\n\n# Exercise: labyrinth\n\n### Correctness\n- `TryStraightFirst`: Wenn weder vorne noch links noch rechts ein Pfad ist, fehlt die geforderte Reaktion „rechtsum kehrt machen“; so kann die Figur in Sackgassen hängen bleiben und das Ziel nicht erreichen.\n- `TryStraightFirst`: Nach dem Links-/Rechtsdrehen machst du in diesem Schleifendurchlauf keinen Schritt nach vorne; das weicht von „falls es keinen Pfad geradeaus gibt, wird links oder rechts versucht“ ab (dort gehört typischerweise auch ein tatsächlicher Versuch/Schritt dazu).\n- `BacktrackingAlgorithm`: `navigate` enthält eine Endlosschleife ohne Bewegungen/Logik (leerer while-Block) und erfüllt damit nicht die Anforderung, die letzten Levels zu lösen.\n- `LabyrinthApp`: Du verwendest weiterhin `new TryStraightFirst()`; für die letzten Levels müsstest du hier den Backtracking-Algorithmus einsetzen.\n\n### Suggestion\n- Für „rechtsum kehrt“: Überlege, was du machen musst, wenn `pathAhead()`, `pathToTheLeft()` und `pathToTheRight()` alle `false` sind, damit die Figur wieder zurückgehen kann.\n- Für das „links oder rechts versucht“: Denk daran, dass „versuchen“ mehr ist als nur drehen—prüfe, welche Aktion nach dem Drehen nötig ist, um wirklich in den neuen Gang einzutreten.\n- Für `BacktrackingAlgorithm`: Du brauchst eine Strategie, wie du Entscheidungen (Abzweigungen) speicherst und bei einem Dead End wieder zur letzten Kreuzung zurückkommst; überlege dir dazu eine Datenstruktur (z.B. eine Art Stack/Protokoll der Schritte) und wann du etwas darauf ablegst bzw. wieder entfernst.\n- Für `LabyrinthApp`: Sobald dein `BacktrackingAlgorithm` funktioniert, ersetze die Instanz in `main()` damit, sonst wird er nie ausgeführt.\n\n### Code Style\n- In `BacktrackingAlgorithm` sind aktuell mehrere unbenutzte Variablen/Methoden-Skelette (`way`, `deadEnd`, `navigateHelper`, `backTrackTolastCorssing`) vorhanden; entweder ausimplementieren oder entfernen, damit der Code klarer bleibt.\n- Der Methodenname `backTrackTolastCorssing` enthält Tippfehler („Corssing“, „last“ groß/klein); konsistente, korrekt geschriebene Namen erleichtern dir später das Debugging.\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"
  }
}