CS108 Bootcamp Eyeballs

10

Click here to load reader

Transcript of CS108 Bootcamp Eyeballs

Page 1: CS108 Bootcamp Eyeballs

cs108 Programmieren II

BOOTCAMPEyeballs

Page 2: CS108 Bootcamp Eyeballs

Programmieren II (cs108) - Bootcamp 2

EinführungSpielidee: Jump'n'Run mit „Capture the Flag“-Elementen, 2 TeamsSpielidee: Jump'n'Run mit „Capture the Flag“-Elementen, 2 Teams

c

Page 3: CS108 Bootcamp Eyeballs

Programmieren II (cs108) - Bootcamp 3

Page 4: CS108 Bootcamp Eyeballs

Programmieren II (cs108) - Bootcamp 4

Page 5: CS108 Bootcamp Eyeballs

Programmieren II (cs108) - Bootcamp 5

Einführung

Aufteilung in:Aufteilung in:

zeitkritische (redundante) Datenzeitkritische (redundante) Daten

➢ EingabedatenEingabedaten➢ SpieldatenSpieldaten

➢ Spielerposition/StatusSpielerposition/Status➢ PunktestandPunktestand

zeitunkritische (und singuläre) Datenzeitunkritische (und singuläre) Daten

➢ LogindatenLogindaten➢ MenüinformationenMenüinformationen➢ Manche spielflussrelevante DatenManche spielflussrelevante Daten

➢ z.B. Flaggeninformationen,z.B. Flaggeninformationen,➢ Power-UpsPower-Ups

Page 6: CS108 Bootcamp Eyeballs

Programmieren II (cs108) - Bootcamp 6

Netzwerkkommunikation TCP

ClientClient

ServerServer

➢Sendet im Menü gemachte Sendet im Menü gemachte EingabenEingaben➢Ändert den Menüzustand nach Ändert den Menüzustand nach ServerantwortServerantwort➢Sendet NachrichtenSendet Nachrichten ➢Verarbeitet die empfangenenVerarbeitet die empfangenen

Informationen, veranlasstInformationen, veranlasst Zustandswechsel auf ClientZustandswechsel auf Client➢Verwaltet die Spiele/SpielerVerwaltet die Spiele/Spieler➢Leitet Nachrichten weiterLeitet Nachrichten weiter

AsynchroneAsynchroneKommunikationKommunikation

MENÜMENÜ

Page 7: CS108 Bootcamp Eyeballs

Programmieren II (cs108) - Bootcamp 7

Netzwerkkommunikation UDP

ClientClient

ServerServer

➢Sendet sämtliche EingabenSendet sämtliche Eingaben➢Zeigt die empfangenen Spiel-Zeigt die empfangenen Spiel-

daten andaten an

➢Verarbeitet die EingabedatenVerarbeitet die Eingabedaten➢Aktualisiert den SpielstatusAktualisiert den Spielstatus➢Kontrolliert die RegelnKontrolliert die Regeln➢Sendet die SpieldatenSendet die Spieldaten

AsynchroneAsynchroneKommunikationKommunikation

Page 8: CS108 Bootcamp Eyeballs

Programmieren II (cs108) - Bootcamp 8

Umsetzung der Netzwerkkommunikation TCP

DatenDaten

NetPackageNetPackageTyp - Parserinformation

xxxxNetObjectNetObject

NetzwerkNetzwerk(LAN/WAN)(LAN/WAN)

NetzwerkNetzwerk(LAN/WAN)(LAN/WAN)

SocketSocket SocketSocket

SerialisierungSerialisierung DeserialisierungDeserialisierung

DatenDaten

Handler/Handler/ParserParser

Page 9: CS108 Bootcamp Eyeballs

Programmieren II (cs108) - Bootcamp 9

Umsetzung der Netzwerkkommunikation UDP

DatenDatenbyte[] toByte()byte[] toByte()

DatagramPacketDatagramPacketAdresse - IP-Information

byte[]byte[]Typ - - Parserinformation

NetzwerkNetzwerk(LAN/WAN)(LAN/WAN)

NetzwerkNetzwerk(LAN/WAN)(LAN/WAN)

DatagramSocketDatagramSocket DatagramSocketDatagramSocket

DatenDaten

Handler/Handler/ParserParser

Page 10: CS108 Bootcamp Eyeballs

Programmieren II (cs108) - Bootcamp 10

Zum Thema textbasiertes Protokoll*************************************************************************************************printing variables of an instance of lib.gameObjects.PlayerObject at (PlayerObject.java:445)************************************************************************************************** map = lib.gameLogic.Map@814013* typeIDCounter = 2* typeID = 1* idCounter = 1* id = 3* playerName = test* deathCounter = 0* team = 1* vX = 1.2* vY = 10.0* flag = 0* lastFlag = 0* timeToWait = 0* maxHealth = 100* health = 100* powerUp = 0* speed = 300.0* jumpingPower = 15.0* inAir = true* status = STANDING* lastStatus = null* KEY_RIGHT = true* KEY_LEFT = false* KEY_UP = true* KEY_ACTION = true* weaponRange = 600* weaponSpeed = 600T

Variable Typ ist in Variable Typ ist in lesbarem Format,lesbarem Format,übermittelte Daten übermittelte Daten können detailliert können detailliert ausgegeben werdenausgegeben werden