Homepage von Papa

Projekt Schiffeversenken

Die Planung der Umsetzung

Hier sind jetzt wir als kreative Techis gefragt.

Nach intensiven Internetrecherchen haben wir folgende Informationen zusammengetragen:

  • Um Dinge über das Internet bereitzustellen, brauchen wir eine Client-Server-Architektur
  • Wenn wir Web-Entwicklung mit Python machen wollen, sollten wir ein Framework wie Flask, Django oder andere nutzen.
  • Serverseitig sollten wir eine Datenbank im Einsatz haben
  • Python kommt in der Server-Programmierung zum Einsatz
  • HTML kommt auf der Client-Seite zum Einsatz
  • Die Aufbereitung des HTML-Codes erfolgt mit CSS
  • Für die Logik zwischen Client und Server sollte JavaScript genutzt werden

Ziemlich viele Infos, die wir irgendwie noch einsortieren müssen. Falls Euch das alles bekannt ist, überfliegt oder überspringt die nächsten Kapitel gerne.

Gehen wir es durch:


Client-Server-Architektur

Es gibt viele gute Beiträge im Internet die erklären, was eine Client-Server-Architektur überhaupt ist. Meine Herleitung resultiert aus dem Beispiel einer Internetrecherche:

Wir geben den Suchtext in unserem Browser ein, drücken dann Eingabe und erhalten die Trefferliste als Suchergebnis zurückgeliefert. Unser Browser ist dabei also der Client, der die Anfrage stellt, aber keine eigenen Informationen hält.

Die Frage geht dann an den Betreiber der von uns ausgewählten Suchmaschine und landet dort auf deren Servern. Dort kümmert man sich um die Beantwortung der Frage und schickt das Ergebnis an den Aufrufer zurück. Meist ist es nur das erste Paket von ganz vielen Treffern, der Server teilt dem Aufrufer dann mit, dass es weitere Infos gibt.

Unser Browser, also der Client, bereitet dann die Antwort auf, sodass wir die Trefferliste ansehen und durchscrollen können. Wollen wir die nächste Trefferseite aufrufen, startet unser Client die nächste Anfrage beim Server und holt Paket 2 ab.

Soweit verständlich, oder?

Für unser Spiel bedeutet das nun, dass wir uns um die Programmierung des Clients UND die des Servers kümmern müssen.


Frameworks

Hier müssen wir uns jetzt entscheiden, welches Framework wir einsetzen wollen.

Fragen wir und zuerst, was ist ein Framework und wozu brauchen wir das.

Eine Definition könnte sein:

Ein Framework ist ein vorgefertigtes Softwaregerüst, das Entwicklern Standardfunktionen und Strukturen bereitstellt, um Anwendungen schneller und effizienter zu entwickeln.

Okay, und welches Gerüst ist jetzt für unser Projekt geeignet? Wenn wir eine KI fragen, welches der beiden Frameworks Flask oder Django die größere Popularität hat, liegt Django mit 60-65% vorne.

Allerdings wird angemerkt, dass Flask für kleinere Projekte eher geeignet ist, da es leichtgewichtiger und flexibler ist und schneller zu erlernen sein soll.

Also genau unser Ding. Stürzen wir uns also auf Flask. Die Installation ist dann Teil von Kapitel 4.3.


Die Datenbank

Für die Auswahl der richtigen Datenbank fragen wir wieder unsere KI. Auf die Frage "Welche Datenbank wird häufig in Flask-Anwendungen verbaut?" bekommen wir den Namen „SQLite“ angezeigt. Gründe dafür sind:

  • Es wird keine separate Serverkonfiguration benötigt
  • Kann direkt in die Anwendung integriert werden
  • Ist leichtgewichtig und
  • gut für kleinere Projekte und Prototypen geeignet

Alternativ werden MariaDB, PostgreSQL und MySQL genannt, diese sollen besonders bei größeren Anwendungen zum Einsatz kommen.

Also gehen wir mit SQLite. Auch hier schauen wir uns die Verwendung im Kapitel 4.3 an.


Weitere Sprachen

Aus der Internetrecherche haben sich 4 Sprachen herauskristallisiert, die wir benutzen werden.

  • Neben Python (dem Server)
  • sind das HTML (der Client)
  • mit CSS als Darstellungssprache,
  • sowie JavaScript für die Kommunikation zwischen Client und Server.

Nichts davon müssen wir extra installieren.


Noch etwas?

Ja. Nachdem nun unser Rahmen für die Entwicklung feststeht, fragen wir unsere KI nach einer Struktur für Flask mit einer SQLite-Datenbank, dem Frontend, CSS und JavaScript. Das Ergebnis sieht so aus:

Cool

  • Zurück
  • Source Kapitel
  • Weiter

Inhaltsverzeichnis:

1. Vorwort
2. Das Projekt
3. Vorarbeiten
4. Das Projekt „Schiffeversenken“
4.1. Der Funktionsumfang
4.2. Die Planung der Umsetzung
4.3. Das Coden
4.3.1 Arbeiten mit Flask
4.3.2 Die Datenbank
4.3.3 Der Spielstart
4.3.4 Der Spielcode
4.3.5 Die Spielfelder
4.3.6 Setzen der Schiffe
4.3.7 Das Spielen
4.4. Die Veröffentlichung
5. Abschluss

© by Papa. Die Seite ist online seit 2020.

Menu

  • Startseite
  • Projekte
    • Übersicht aller Projekte
    • Schiffeversenken
    • Taschenrechner
    • Nachbau Snake
  • Helferlein
    • Übersicht Hilfprogramme
    • Fonts in pygame
    • Quellcode nach HTML
    • Text nach HTML
  • Impressum
  • Disclaimer

Modal content goes here