Teil 7
← C Teil 6: Zeiger | ● | C Teil 8: ASCII-GFX Canvas →
![](http://th-nuremberg.de/roettger/uploads/CC2/IkeaRegal.png)
Wir lernen weitere fortgeschrittene Programmiertechniken kennen:
- Arrays
- Structs
- Zeiger-Array Dualismus
Ein klassisches Einsatzgebiet für Arrays und Strukturen ist zum Beispiel:
- Gegeben: n Spielelemente an n verschiedenen Positionen
- Gesucht: passende Datenstruktur
- Speichern der Positionen der n Spielelemente in einem Array mit n Elementen
- Jedes Element wird als Struktur mit den Positions-Komponenten x und y angelegt
- Die Struktur kann weitere Eigenschaften wie Farbe, Größe, Typ und Geschwindigkeit enthalten
- Praxis-Beispiel: Dampfwolke, die sich aus einzelnen Dampfpartikeln zusammensetzt, welche einer Quelle entströmen und sich mit einer gewissen Ausbreitungsgeschwindigkeit ausdehnen. Dabei lernen wir weiterhin einige Features der ASCII-GFX Bibliothek kennen: Canvas-Painting, Side-Scrolling, Sprites, Partikelsysteme.
- Gesamte Doxygen Dokumentation: www.th-nuremberg.de/docs/html/index.html
![](http://th-nuremberg.de/roettger/uploads/CC2/SteamLoco.png)
Obiger Demo Source-Code auf Source-Forge:
Wir lernen dadurch die Anwendung von komplexen Datenstrukturen kennen, auf denen passende Algorithmen arbeiten können → PROG2/A
Auch auf der Webseite der KI Software Midjourney wurden ASCII-Partikelsysteme eingesetzt (2023):
Praktikum:
![](http://th-nuremberg.de/roettger/uploads/CC2/Salesman.png)
Im Praktikum zeigen Sie jeweils Ihren aktuellen Fortschritt bei der Umsetzung Ihrer Spieleidee.
Überlegen Sie, wo Sie in Ihrem Spiel Structs und/oder Arrays algorithmisch sinnvoll einsetzen können. Implementieren Sie dies prototypisch.
Protokoll:
Fragen fürs Protokoll:
- Sind die Richtlinen für die Abgabe berücksichtigt?
- Welche klassischen Algorithmen kennen Sie, die auf Arrays arbeiten?
- Welche klassischen Algorithmen kennen Sie, die mit Strukturen und Zeigern (bzw. Referenzen) arbeiten?
- Welche Algorithmen kennen Sie, die mit anderen Datenstrukturen arbeiten? Fangfrage
Hausaufgaben:
Dokumentieren Sie im Protokoll den jeweiligen Fortschritt bei der Umsetzung Ihres Spiels!