Das Spiel Tic Tac Toe kennen wir bestimmt noch alle aus unserer Kindheit, wo wir es auf etlichen Blättern
Papier, auf der Tafel im Klassenzimmer oder auf angelaufenen Fensterscheiben gespielt haben.
Die Spielregeln von Tic Tac Toe dürften den meisten von uns bestimmt bekannt sein, vollständigkeitshalber
sind sie jedoch im folgenden noch einmal kurz zusammengefasst.
Das Spielfeld besteht aus 3×3 Feldern. Abwechselnd markiert jeder Spieler ein Feld mit seinem Symbol
(einem Kreuz "x" oder Kreis "o")
um so eine Reihe von 3 gleichen Markierungen - horizontal, vertikal oder diagonal - herzustellen. Der Spieler,
dem dies zuerst gelingt, gewinnt das Spiel.
Bei diesem Projekt wird das Spiel allerdings auf etwas andere Art und Weise gespielt, nämlich gegen unseren
Knickarmroboter - von uns kurz "Fritz" genannt.
Gespielt wird auf einem Spielfeld aus Kunstoff, das in neun Quadrate aufgeteilt ist. Statt der Kreuze und Kreise
kommen zwei verschieden farbige zylindrische Spielfiguren (schwarz und blau) zum Einsatz, für jeden Spieler eine
Farbe. Auf der einen Seite sitzt unser Knickarmroboter "Fritz", auf der anderen der menschliche Gegenspieler.
Über dem Spielfeld ist eine Kamera angebracht, die
das gesamte Spielgeschehen aufzeichnet und an den PC übermittelt, der die Gegenzüge berechnet. Auf diesem
PC werden die Bildinformationen mittels Framegrabber eingelesen und von der erstellten Software die Gegenzüge
berechnet. Die Gegenzüge werden dann mittels der seriellen Verbindung über die COM-Schnittstelle an den zweiten
PC übertragen, der mit unserem Knickarmroboter "Fritz" verbunden ist und die Spielfiguren anschließend an die
richtige Position setzt.
Nach dem Spielstart wird zuerst der Beginner des Spiels per Zufall mittels der Software am PC ermittelt. Dieser beginnt dann mit dem ersten Zug, d.h. er setzt einen Spielstein seiner Farbe in eines der neun Quadrate des Spielfeldes. Ist z.B. der menschliche Gegenspieler Beginner des Spiels, so erscheint eine Aufforderung am PC, einen Stein seiner Farbe in ein noch freies Feld am Spielfeld zu setzen und den Zug anschließend mittels der Enter-Taste am PC zu quittieren.
Ist der menschliche Gegenspieler mit seinem Zug fertig und hat diesen quittiert, so beginnt die Software damit
einen Abzug des Spielfeldes mittels der Kamera zu machen und über den Framegrabber einzulesen.
Anschließend wird die eingelesene Bildinformation auf das Vorkommen eines neuen Spielsteines untersucht.
Wurde der Zug des menschlichen Gegenspielers korrekt erkannt, so wird der Gegenzug gemäß des vorprogrammierten
Spielalgorithmus ermittelt und anschließend an den zweiten PC, der mit unserem Knickarmroboter "Fritz"
verbunden ist, übertragen.
Dieser setzt dann einen seiner Steine an die ermittelte Position und fordert den
menschlichen Gegenspieler wieder zum Gegenzug auf. Ist während der Untersuchung der Bildinformation ein
Fehler aufgetreten, so fordert die Software den menschlichen Gegenspieler zur Wiederholung seines Zuges auf.
Dieses Spiel wird nun so lange wiederholt, bis ein Gewinner feststeht oder es zu einem Unentschieden kommt.
Das Tic Tac Toe Projekt wurde von mir im Schuljahr 1998/1999 an der
HTL Innsbruck erstellt und diente als Vorbereitung auf meine Diplomarbeit - das
MiroSot Vision-System - die ich im Zuge meines Abschlusses im Jahr 2000
in der
Abteilung Elektrotechnik an der
HTL Innsbruck erstellt habe.
Der Quellcode des Spielalgorithmus und der Bildverarbeitung steht am Ende des Artikels zum Download bereit. Für eventuelle Fragen zum Projekt stehe ich Ihnen natürlich gerne zur Verfügung.
|
Quellcode des Tic Tac Toe Projekts (1.363 KB) |