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.
Tic-Tac-Toe mit CLI programmieren
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.
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.
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.
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.
- __blackjack__
- User
- Beiträge: 13100
- 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