Tic-Tac-Toe mit CLI programmieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
Marceline
User
Beiträge: 20
Registriert: Freitag 2. November 2018, 16:35

Hallo people und peopelinnen,

in der Vorlesung wurden wir letzten Montag mit dem Thema CLI konfroniert und haben folgende Aufgabe bekommen.

Schreibe ein Python 3.7.x Programm, welches ermöglicht das Spiel Tic-Tac-Toe mit Hilfe eines CLI in der Konsole zu spielen.
• Definiere eine Klassenvariable intro, welche eine Begrüßung enthält und angibt, wie die Auflistung der erlaubten Befehle in der Konsole aufgerufen werden kann. Setze diese beim Aufruf ihres Programms ein.
• Für das E in EVA definiere eine weitere Klassenvariable my_prompt und lege fest, wie die Aufforderung zur Eingabe eines Befehls in der Konsole gekennzeichnet werden kann. Verwende dabei NICHT die in IDLE gängige Ausgabe ”>>>”.•
Alle Aktionen in Ihrem Spiel sind befehlsbasiert auszuführen.
• Ermögliche das Erstellen eines neuen Spielfeldes und das Abbrechen des Spiels.
• Ermögliche eine Untersuchung der Belegung einzelner Zellen.
•Ermögliche das Setzen neuer Symbole. Beim Setzen neuer Symbole überprüfe, ob die jeweilige Zelle frei ist.
• Ermögliche den Aufruf des Spielfeldes in der Konsole.

Weiterhin sollten Gewinner*innen ermittelt werden können. In deiner Dokumentation beschreibst du die erlaubten Befehle und gibst repro-
duzierbare Beispiele an. Weiterhin gibst du an, welche Strategien und gegebenenfalls Richtlinien bei der Namensgebung deiner Befehle eingesetzt wurden


Ich verstehe ehrlich gesagt nicht, was da verlangt wird. Soll einfach ein Objektorientiertes TicTacToe implementiert werden und jetzt einfach zusätzlich diese Klasenvariablen intro und My_prompt ausgeführt werden.

Außerdem: Wie soll ich IDLE verändern, dass es nicht mehr >>> ausgibt. Ist das die Befehlszeilenveränderung?

Was ich außerdem nicht versteh: "Ermögliche das Setzten neuer Symbole". Ich soll also mitten im Spiel neue Symbole einführen, als ob jetzt einfach mittendrin ein neuer Spieler hinzugefügt wird?

In der Vorlesung hatten für folgendes Beispiel für CLI -Bennenungen
mkdir (makedirectory)
‣ls(listdirectory)
‣cd(changedirectory)
‣rm(removefile)
‣pwd(print
working
directory

Leider hatten für keine Implementierung mit CLI vorgenommen, da wir am nächsten Tag mit GUI angefangen haben.
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

Die Aufgabe setzt so unvermittelt mit Tic-Tac-Toe ein: gibt es schon eine Klasse, die ein Tic-Tac-Toe-Spiel modeliert, auf die man aufbauen kann?

Klassenvariablen sollte man nicht verwenden. So dass jetzt die Frage besteht, sollen das Klassenkonstanten oder Instanzvariablen sein?
`my_` als Präfix eines Variablennamens ist nie sinnvoll, außer es findet tatsächlich eine Unterscheidung zwischen my and your statt. Hier würde die Klassenkonstante einfach PROMPT heißen, wenn es mehrere Ebenen gibt (wie z.B. bei Python >>> und ...) müßte man den PROMPT dann natürlich näher beschreiben.
Die Vorderung, dass es nicht >>> dient meiner Meinung nur dazu, dass der Nutzer zwischen Python-Eingabe und Spiel-Eingabe besser unterscheiden kann, was aber bei einem eigenständigen Programm nicht relevant sein dürfte. Was mit den Fragen insgesamt zu verstehen ist, solltest Du Deinen Betreuer fragen, weil wir können hier nur spekulieren und uns über die schlechte Aufgabenstellung mokieren.
Benutzeravatar
sparrow
User
Beiträge: 4187
Registriert: Freitag 17. April 2009, 10:28

Ich würde sagen, die grundsätzliche Aufgabenstellung ist, dass du ein Programm schreiben sollst, mit dem 2 Personen Tic-Tac-Toe gegeneinander spielen können sollen - und das über ein CLI.
Ich denke nicht, dass du den Prompt von IDLE umstellen sollst, sondern dein Prompt im Programm soll sich nur optisch von dem unterscheiden, den der Interpreter normalerweise verwendet.
"Das setzen neuer Symbole" klingt, als würde man neue Symbole auf dem Spielfeld platzieren können müssen. Das muss man aber eh, sonst kann man ja nicht spielen.
Benutzeravatar
__blackjack__
User
Beiträge: 13079
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Marceline: CLI heisst dem Benutzer wird ein Prompt gezeigt an dem er Befehle eingeben kann, und die bewirken dann etwas. Und genau das ist gefragt. Du sollst Dir einen Befehlssatz ausdenken der ein Tic-Tac-Toe-Spiel erstellen, untersuchen, und manipulieren kann. Beispiel in der Vorlesung war offensichtlich ein Satz an Befehlen der Verzeichnisstrukturen erstellen, untersuchen, und manipulieren kann. Ihr sollt anscheinend so etwas wie die `Cmd`-Klasse aus dem `cmd`-Modul aus der Standardbibliothek selbst programmieren.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Antworten