Hallo Jungs und Mädls,
ich muss ein Spiel programmieren, dass übers Netzwerk gespielt wird.
Und zwar ist der Ablauf so, dass abwechselnd gespielt wird. D.h. Spieler 1 macht einen Zug, dann Spieler 2, oder umgekehrt.
Wie implementiere ich das am besten?
Szenario:
Spieler 1 macht eine Eingabe. Diese wird erst auf der GUI umgesetzt und anschließend übers Netzwerk übertragen. Ab hier muss das gesamte Spiel blockieren und es dürfen keine Eingaben mehr gemacht werden.
Nun ist Spieler 2 am Zug. Der hat die Daten von Spieler 1 erhalten und diese wurden auf seiner GUI aktualisiert. Nun macht Spieler 2 eine Eingabe und dioese wird an Spieler 1 gesendet. Die GUI von Spieler 1 wird nun aktualisiert und er kann wieder eine Eingabe machen. usw.
Meine Frage nun, wie implemntiere ich die Netzwerkkomponente?
Muss ich die als Thread zur SpieleLogik laufen lassen? Oder kann sie einfach so mitlaufen, da die Netzwerkaufrufe ja "Synchron" sind, also request - block- replay.
Ich hab sowas noch nie gemacht. Gebt mir einfach mal eine Tipp.
Vielen Dank
Marco
ich muss ein Spiel programmieren, dass übers Netzwerk gespielt wird.
Und zwar ist der Ablauf so, dass abwechselnd gespielt wird. D.h. Spieler 1 macht einen Zug, dann Spieler 2, oder umgekehrt.
Wie implementiere ich das am besten?
Szenario:
Spieler 1 macht eine Eingabe. Diese wird erst auf der GUI umgesetzt und anschließend übers Netzwerk übertragen. Ab hier muss das gesamte Spiel blockieren und es dürfen keine Eingaben mehr gemacht werden.
Nun ist Spieler 2 am Zug. Der hat die Daten von Spieler 1 erhalten und diese wurden auf seiner GUI aktualisiert. Nun macht Spieler 2 eine Eingabe und dioese wird an Spieler 1 gesendet. Die GUI von Spieler 1 wird nun aktualisiert und er kann wieder eine Eingabe machen. usw.
Meine Frage nun, wie implemntiere ich die Netzwerkkomponente?
Muss ich die als Thread zur SpieleLogik laufen lassen? Oder kann sie einfach so mitlaufen, da die Netzwerkaufrufe ja "Synchron" sind, also request - block- replay.
Ich hab sowas noch nie gemacht. Gebt mir einfach mal eine Tipp.
Vielen Dank
Marco