4cf1b4225499a2ff95d0a57285849c3bafc878a6
- OggMusicBackend shared one 'stopping' flag across playbacks and nulled the thread handle without checking whether the join had actually succeeded. A thread that outlived its join budget saw the flag flip back to false and resumed playing, so two tracks played at once and the orphan never died. Each playback now owns its stop token, and fades abort when it is set. - SaveService.slug mapped "Bedroom Run" and "Bedroom_Run" to the same filename, so the second save silently overwrote the first. The slug is now injective: a short hash is appended whenever sanitising was lossy. Clean names keep clean filenames, so existing saves still load. - The Swing worker is the only consumer of the input queue, so when it died on a loader error the window stayed open and ignored every command forever. It now reports the error and closes. Typing while the menu overlay is up no longer queues commands that get replayed once the menu closes.
Programmierung 2 — Algorithmen und Datenstrukturen
Code zu den Aufgabenblättern aus dem Modul Programmierung 2 (2. Semester).
Dieses Repo enthält ausschließlich den Java-Code. Aufgabenstellungen,
Lösungstexte und PDFs liegen außerhalb des Repos in
../Uebungen/<NN>/ (Nextcloud-synchronisiert, nicht versioniert).
Konvention siehe THB/README.md.
Repository klonen
git clone https://gitea.jeanlucmakiola.de/THB/Jander_Semester2.git code
cd code
(Lokal heißt der Checkout code per THB-Konvention; remote-Name bleibt
historisch Jander_Semester2.)
Struktur
code/
├── uebung_01/ - Aufgabenblatt 1
│ └── src/
│ ├── util/ - Hilfsklassen (Util, ArrayTester)
│ ├── task3/ - NumberGuesser + KI-Vergleich
│ ├── task4/ - AnagrammChecker + KI-Vergleich
│ ├── task5/ - PrimeNumberGenerator + KI-Vergleich
│ └── task6/ - Sorter + KI-Vergleich
└── uebung_02/ - Aufgabenblatt 2
└── src/
└── util/ - Hilfsklassen (Util, ArrayTester, IntArrayList, Sorter)
Die zugehörigen Aufgabenblätter und Lösungsdokumente liegen in:
../Uebungen/01/{Aufgabe.pdf, Loesung.md, Loesung.pdf, task1.png, task2.png, task5.png}
../Uebungen/02/{Aufgabe.pdf, Loesung.md}
Voraussetzungen
- Java 25+
- IntelliJ IDEA (empfohlen)
- Git (Setup-Anleitung)
Description
Languages
Java
100%