Softwareumgebung
Spielsteuerung
Die Spielsteuerung, ist das Programm, welches die Spielzüge bestimmt. Sie berechnet, mit Hilfe der Ball- und Spielstangenpositionen, welche Bewegungen als nächstes auszuführen sind. Sie stellt also die künstliche Intelligenz dar. Die Konzeption und Programmierung, dieser Software, war Gegenstand einer Diplomarbeit ("Konzeption einer Softwareumgebung zur intelligenten Ansteuerung eines automatisierten Tischkickers" von Scharel Clemens, 30.09.2012). Da die Diplomarbeit sich eher mit den Grundlagen befasst, und die Programmierung nur oberflächlich behandelt, wird hier der Programmablauf erklärt und gezeigt, wie praktisch vorzugehen ist, um Änderungen und Erweiterungen einzubringen.
Programmablauf
Der allgemeine Programmablauf, ist diesem Sequenzdiagramm zu entnehmen. Es erläutert, welche Klasse wann erzeugt und welche Memberfunktionen wann aufgerufen werden. Die eigentliche Funktionalität (Fahrbefehle für die Spielstangen) befindet sich in der Funktion runAgent(), der Klasse AxisAgent. Es gibt vier Instanzen dieser Klasse, und somit 4 Threads, in denen die Funktion runAgent() parallel ausgeführt wird. Jede Instanz ist für eine Spielstange zuständig.
Interprozesskommunikation
Der Begriff "Interprozesskommunikation" wird nachgehend mit "IPC" abgekürzt.
Einleitung
Für jede Teilaufgabe gibt es beim Kicker ein eigenständiges Programm.
Beispiel der IPC zwischen Ballerkennung und Spielsteuerung
Dieses Sequenzdiagramm beschreibt den sequentiellen Ablauf der IPC zwischen Spielsteuerung und Ballerkennung, innerhalb der Spielsteuerung.