Glücksspiel Python oder JS ?

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
peacemaker
User
Beiträge: 16
Registriert: Sonntag 2. Oktober 2016, 14:33

Hallo liebes Python-Forum,
ich bin relativ neu mit Python untwerwegs und hab noch weniger Ahnung von JS. Das wird sich dieses Semester allerdings ändern.
Ich werde eine Website mit Python/Flask realisieren und auf dieser soll eine art Glücksspiel laufen.
Vom Prinzip her soll es so aufgebaut sein wie ein Rubbellos, versteckte Felder werden (nachdem mit Punkten dafür bezahlt wurde) aufgedeckt
und man erfährt was/ob man gewonnen hat.

Nun zu meiner eigentlichen Frage: Ist dies komplett mit Python realisierbar oder sollte ich dies mit JavaScript tun ?
Ich will keine konkreten Lösungsansätze. Ich will mir lediglich etwas Zeit ersparen, indem mir von euch empfohlen wird, in welche Richtung ich
gehen soll.

Mit freundlichen Grüßen
peacemaker
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Beides. Das Backend würde ich in Python machen, das Frontend in JS.
peacemaker
User
Beiträge: 16
Registriert: Sonntag 2. Oktober 2016, 14:33

Ok also die eigentliche Applikation in JS und die Daten kommen in ne SQLite DB verpackt mit Python/Flask.

danke
BlackJack

@peacemaker: Hier ist jetzt die Frage was ”die eigentliche Applikation” ist. In der Regel hat man ja auch auf der Serverseite Programmlogik. Insbesondere wenn der Benutzer das Programm nicht manipulieren können darf, zum Beispiel bei Spielen, kann man auf Clientseite ja nicht alles an Logik haben.
peacemaker
User
Beiträge: 16
Registriert: Sonntag 2. Oktober 2016, 14:33

Die Seite wird nur Lokal erreichbar sein. Das Fach für die ich diese Aufgabe erledige heißt "serverseitige Anwendungen".
Ich bin gerade dabei die Seite folgendermaßen aufzubauen:
Grundgerüst mir Python/Flask mit Loginmöglichkeit und Chatfunktion -> Die Nachrichten und die Userdaten werden in einer SQLite3 DB gespeichert.

Mit eigentlicher Applikation meinte ich das Spiel, dass ich in JS realisieren und im Anschluss in Flask einbetten werde.
Ich hatte mir überlegt verdeckte, numerierte Tabellen anzulegen, die der "User" dann freischalten kann.
Ab welcher "Funktion" ich dann mit Python statt mit JS weiterarbeite, weiß ich noch nicht, allerdings wollte ich so viel wie möglich mit Python realisieren, wenn dies den gleichen oder gar weniger Arbeitsaufwand hat als JS. :)

Gruß
Peacemaker
BlackJack

@peacemaker: Wo die Seite erreichbar ist, ist egal. Benutzereingaben müssen immer auf dem Server geprüft werden. Es mag sinnvoll sein das auch schon auf dem Client zu tun um dem Benutzer schneller Rückmeldung zu geben ohne das eine Kommunikation stattfindet, aber es ist ja nicht garantiert, dass der Benutzer über den Client den man zur Verfügung stellt mit dem Server kommuniziert oder er vielleicht schon den Client verwendet, den aber verändert hat.

Ein weiterer, nicht-technischer Grund ist der Name des Fachs: Bei „serverseitige Anwendungen“ wird sehr wahrscheinlich eine *server*seitige Anwendung erwartet. ;-)

Mit dem Fachtitel ist die Rolle von JavaScript mehr oder weniger auf reine Anzeigelogik beschränkt würde ich sagen.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

die Frage ist IMHO eher, was als Lösung erwartet wird - da es ja eine Semesteraufgabe ist, ist damit wohl auch ein Lernziel verbunden.

Wie oben schon steht: dir stünde prinzipielle die volle Bandbreite von "kein JS" bis "fast alles in JS" zur Verfügung.

Gruß, noisefloor
peacemaker
User
Beiträge: 16
Registriert: Sonntag 2. Oktober 2016, 14:33

@BlackJack
Okay .. danke für die Hinweise.
Also Plausiprüfungen und Errorhandling in den JS-Funktionen. "Eigentlich Verarbeitung" der Daten wird mittels Python stattfinden (erneut Plausiprüfung u. Errorhandling?) und der User bekommt nur das Interface zu sehen und hat natürlich keine weitern Zugriffsmöglichkeiten als von mir vorgesehen.

@noisefloor
Die eigentliche Aufgabe ist viel trivialer . Es ist kein JS gefordert . Aber die Aufgabe, die gestellt würde ich in vll 2 wochen hinbekommen (Lediglich Website mit Login + Chat). Aber da ich ein ganzes Semester dafür Zeit habe, will ich es etwas größer aufziehen als gefordert.


Gruß
Peacemaker
Benutzeravatar
kbr
User
Beiträge: 1487
Registriert: Mittwoch 15. Oktober 2008, 09:27

peacemaker hat geschrieben:Aber da ich ein ganzes Semester dafür Zeit habe, will ich es etwas größer aufziehen als gefordert.
Ziehe es erst einmal auf, wie gefordert. Dann läufst Du nicht in Gefahr das Thema zu verfehlen, oder gar einen zu großen Rahmen zu setzten, den Du später nicht zeitgerecht fertigstellen kannst. Weiteren Schnick-Schnack kannst Du dann anschließend in Ruhe hinzufügen.
BlackJack

@peacemaker: Bei der Ausgangslage würde ich Milestones für die Planung empfehlen, und für den ersten genau das was gefordert ist. Nimm das nicht zu leicht. Chat kann man auf mehrere Arten lösen und das ist vielleicht nicht so einfach wie Du denkst. Und implizit ist da JavaScript mit drin, denn *ohne* möchte man einen Chat ziemlich sicher nicht implementieren. Neben unvorhergesehenen Schwierigkeiten bei dem was Dir jetzt vielleicht gerade sehr einfach vorkommt, darf man auch nicht unterschätzen das die restlichen Fächer und Hausaufgaben Zeit beanspruchen werden. Irgendwelche Spielereien die über die Anforderungen hinaus gehen, kann man zwar von vornherein mit einplanen, aber man sollte mit der Umsetzung erst anfangen wenn die Grundanforderungen stehen. Ein tolles Spiel wird Dich nicht raus reissen wenn der Chat nicht den Anforderungen entspricht. Und falls dazu auch noch was schriftliches erstellt werden soll: Planung und Programm dokumentieren, Begründungen warum man sich für diese oder jene Technologie entschieden hat, Vor-/Nachteile gegenüber anderen Lösungsansätzen und so weiter — das kostet auch Zeit.
peacemaker
User
Beiträge: 16
Registriert: Sonntag 2. Oktober 2016, 14:33

Klingt vernünftig werde mir das "Eins nach dem Anderen" zu Herzen nehmen :D

Gruß
Peacemaker
Antworten