Logisim: Tic-Tac-Toe

Tic-Tac-Toe eine der Hauptbeschäftigung während der Schulzeit, obwohl es so wie so meistens unentschieden ausgeht.

Logisim Tic-Tac-Toe Schaltung

Trotzdem interessant es mit Logik Gattern nachzubauen, die Schaltung kann in 4 Funktionsbereiche eingeteilt werden:

  • Feld Speicher
  • Gewinn Decoder
  • Spielfeld und Eingabe
  • Zug Kontrolleinheit
Logisim Tic-Tac-Toe Feld Speicher aus D Flip-Flop

Feld Speicher

Der Speicher besteht aus 2 Bit pro Feld. Dementsprechend fasst er 18 Bit. Jeder Speicher steht entweder für Kreis oder Kreuz. Wenn eines davon gesetzt ist, kann es nicht mehr überschrieben werden. Der Inhalt des Speichers wird zum Gewinn Decoder weitergeleitet. Außerdem wird über ihn der Spielerwechsel abgefragt (Ansammlung von XOR Gattern). Dieser hat die Eigenschaft, nach jeder Änderung im Speicher seinen Zustand zu ändern.

Logisim Tic-Tac-Toe Gewinn Decoder aus AND Gatter

Gewinn Decoder

Der Gewinn Decoder fragt den Speicher ab und hat für jede Gewinnmöglichkeit ein AND Gatter, was diesen abfragt. Das Ergebnis der Einheit wird an LEDs ausgegeben. Wenn alle Felder belegt sind und kein Gewinn erzielt wurde, leuchtet die Gleichstand LED.

Logisim Tic-Tac-Toe Spielfeld Eingabe

Spielfeld und Eingabe

Das Spielfeld besteht aus 9 LEDs (wer hätte es gedacht ;D) und eine Eingabe über Zeilen- und Spaltenangaben, die über eine zusammengefasste Leitung übertragen werden, die an einen Eingabe Speicher weitergeleitet werden. Außerdem gibt es eine Reset-Taste, um das Spiel abzubrechen oder ein Neues zu starten nach Beenden der Runde.

Logisim Tic-Tac-Toe Kontrolleinheit XOR Flip-Flop Register

Zug Kontrolleinheit

Die Zug-Kontrolleinheit hat die Aufgabe zu verhindern, das falsche Eingaben gemacht werden. Außerdem nimmt sie den Spielerwechsel automatisch vor. Das geschieht indem der Eingabespeicher auf jeweils einer gesetzten Spalte - sowie Zeile - abgefragt wird. Wenn dies der Fall ist, wird der Feldspeicher für den anderen Spieler freigegeben. Wenn eine Gesetzte Zeile / Spalte erkannt wurde, wird der Eingabespeicher gelehrt und wartet auf die Eingabe des nächsten Spielers.

Die Datei zum Download:

Hier Klicken