{
"llm" : {
"feedback" : "# Exercise: parking\n\nLlm Evaluation ist für diese Aufgabe deaktiviert. Entferne die .llmignore Datei vom Package der Aufgabe.\n\n\n# Exercise: labyrinth\n\nLlm Evaluation ist für diese Aufgabe deaktiviert. Entferne die .llmignore Datei vom Package der Aufgabe.\n\n\n# Exercise: swissmap\n\n### Correctness\n- Die `draw(Gui gui)`-Methoden in `City`, `Lake` und `Mountain` sind leer, dadurch werden diese Objekte nicht auf der Karte angezeigt (Anforderung b).\n- In `SwissMapApp` werden die erstellten `City`-, `Lake`- und `Mountain`-Objekte nicht via `gui.addComponent(...)` registriert (Anforderung b).\n- `City`, `Lake` und `Mountain` implementieren noch nicht `Hoverable` und es fehlen `onMouseEnter`, `onMouseExit` sowie `getInteractiveArea`, daher kann keine Beschreibung beim Darüberfahren angezeigt werden (Anforderung c).\n- Die Klasse `ModeButton` existiert nicht und wird auch nicht hinzugefügt; außerdem fehlt damit die Klick-Funktion zum Umschalten des Satellitenmodus (Anforderung d).\n\n### Suggestion\n- Für b): Überlege dir für jede Objektart (Stadt/See/Berg), welche GUI-Primitiven oder Bilder du zeichnen willst, und berechne die Position immer über `coord.toGuiX(gui)` und `coord.toGuiY(gui)`, damit es beim Resizen korrekt bleibt.\n- Für b): Wenn du die Arrays `cities`, `lakes`, `mountains` schon hast, brauchst du in `main` nur noch über jedes Array zu iterieren und jedes Element als Komponente zu registrieren.\n- Für c): Implementiere `Hoverable` so, dass das Objekt intern einen Zustand speichert (z.B. `boolean hovered`). Setze ihn in `onMouseEnter/Exit` und entscheide dann in `draw`, ob du zusätzlich Text/Highlight zeichnest.\n- Für c): Für `getInteractiveArea` ist ein einfacher `Rectangle` um das gezeichnete Symbol oft genug—achte darauf, dass Größe und Position zum gezeichneten Objekt passen und ebenfalls skaliert/relativ zur GUI-Position sind.\n- Für d): Der `ModeButton` braucht eine Referenz auf das `SwissMap`-Objekt (aus `main`) als Feld, damit er beim Klick `setSatelliteMode(...)` passend toggeln kann. Plane außerdem eine eigene `getInteractiveArea`, damit er überhaupt anklickbar ist.\n\n### Code Style\n- In `SwissMapApp` ist `main` als `void main()` deklariert; üblicherweise ist die Java-Entry-Point-Signatur `public static void main(String[] args)` (auch wenn euer Framework das evtl. anders handhabt, prüf die Vorgaben des Projekts).\n- In `SwissMap.java` ist der Import `ch.trick17.gui.component.Component` aktuell ungenutzt und kann entfernt werden.\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"
}
}