32 lines
2.8 KiB
Markdown
32 lines
2.8 KiB
Markdown
Ich möchte eine Python-Anwendung für das CLI entwickeln, in dem Battleship, also Schiffe versenken, realisiert wird. Die Konfiguration soll in einer .env-Datei entstehen und so etwas wie Zeichen für Wasser, sprich Ozean, Zeichen für Schiff und Zeichen für Fehl. Auch soll im CLI Farbkodierung verwendet werden, zum Beispiel blau-dunkel für den Ozean. Schiff soll ein helles Grau und ein Center-dot im dunklen Grau.
|
||
|
||
Auch sollen die Dimensionen des Spielfeldes vergeben werden und ein Rahmen ist ja der eigene und ein Spielfeldrahmen ist der Gegnerrahmen, der zu Beginn komplett unveröffentlicht ist. Und es soll vielleicht noch kleine grüne Landinseln, mit char = zum Beispiel als großes, hellgrünes M.
|
||
|
||
|
||
|
||
wir implementieren mit rich + input()Das muss eine Hilfeseite geben. darin dann die kurzen kommandosbeide spielfelder müssen dargestellt werden könnenUnd aus einer Legende muss ersichtlich sein, welches der Schiffe bereits positioniert ist während der Setzphase oder welche Gegnerschiffe bereits abgeschossen wurden in der Spielphase.
|
||
|
||
|
||
|
||
insel: dunkel-grünes ‘M’, Schiff hellgraues ‘O’, treffer: Rotes ‘X’, miss dunkelgraues ‘.’ (aber nicht “Punkt” sondern center-dot) Ocean: dunkelblaue ‘~’Spielfeldrahmen: hell grüne ‘’ für eigenens Spielfeld, dunkelrote ‘’ f gegner spielfeld.sowohl das char als auch der styleund auch alles andere: Dimension der felder, schiff-shapes und auch die IPadresse des zu verbindenden gegners sind bitte in einer .env zu pflegen.
|
||
|
||
|
||
|
||
und nun zum größten Teril dieser Herausforderung:
|
||
|
||
|
||
|
||
Wir machen iterative Entwicklung:
|
||
|
||
wir kümmern uns Stück für Stück um Teilprobleme,
|
||
|
||
das wir Anfänger in python sind und du als ein Coach
|
||
|
||
Konzepte wie Formatted Strings. Listen und Iteratoren Text-Output in Farbe durch das Rich-Framework. Shape-Modellierung von Schiffen. Auslagerung der kompletten Konfiguration in eine .env-Datei. Verbindung zweier Instanzen über IPv4-Stack. Und zur Usability-Verbesserung vielleicht das prompt:toolkit.
|
||
|
||
|
||
|
||
|
||
#--------------------------------
|
||
Um zwei Computer in einem Netzwerk zu verbinden, in ein nicht von mir gemanagtes WLAN, Könnten wir mittels ENV-Datei die IP-Adresse des Gegenüber oder nur beim Initiator die IP-Adresse des Gegenüber eintragen und uns eine Socket-Verbindung holen.
|
||
Ich kann leider nicht vorhersagen, ob der WLAN-Controller zulässt, dass sich WLAN-Clients miteinander unterhalten dürfen. Ich erwäge einen MQTT-Server zu nutzen oder eventuell einen Web-Server, aber es muss etwas sein, auf dem man sich treffen und schreiben zugreifen kann. Ich möchte ja einen Zug oder eine Bewegung eines Schiffes oder auch den initialen Ozean und die Position der Inseln mitteilen können. Was gibt es noch für Server, um zum Beispiel im JSON-Format Informationen oder Konfigurationen auszutauschen? |