SlideShare ist ein Scribd-Unternehmen logo
cs108 Programmieren II

BOOTCAMP
       Eyeballs
Einführung
Spielidee: Jump'n'Run mit „Capture the Flag“-Elementen, 2 Teams




                                     c




                     Programmieren II (cs108) - Bootcamp          2
Programmieren II (cs108) - Bootcamp   3
Programmieren II (cs108) - Bootcamp   4
Einführung

                            Aufteilung in:




zeitunkritische (und singuläre) Daten           zeitkritische (redundante) Daten

➢
    Logindaten                                  ➢
                                                    Eingabedaten
➢
    Menüinformationen                           ➢
                                                    Spieldaten
➢
    Manche spielflussrelevante Daten                   ➢
                                                         Spielerposition/Status
      ➢
        z.B. Flaggeninformationen,                     ➢
                                                         Punktestand
      ➢
        Power-Ups




                         Programmieren II (cs108) - Bootcamp                       5
Netzwerkkommunikation TCP

             MENÜ



    Client                         Asynchrone
                                  Kommunikation
➢Sendet im Menü gemachte
 Eingaben
➢Ändert den Menüzustand nach
                                                                Server
 Serverantwort
➢Sendet Nachrichten
                                              ➢Verarbeitet die empfangenen
                                               Informationen, veranlasst
                                               Zustandswechsel auf Client
                                              ➢Verwaltet die Spiele/Spieler

                                              ➢Leitet Nachrichten weiter



                     Programmieren II (cs108) - Bootcamp                      6
Netzwerkkommunikation UDP




    Client                           Asynchrone
                                    Kommunikation
➢Sendet sämtliche Eingaben
➢Zeigt die empfangenen Spiel-

        daten an                                                  Server
                                                ➢Verarbeitet die Eingabedaten
                                                ➢Aktualisiert den Spielstatus

                                                ➢Kontrolliert die Regeln

                                                ➢Sendet die Spieldaten




                       Programmieren II (cs108) - Bootcamp                      7
Umsetzung der Netzwerkkommunikation
                TCP
NetPackage                                                          Daten
Typ - Parserinformation
 xxNetObject

      Daten                                                        Handler/
                                                                    Parser


Serialisierung                   Netzwerk
                                 Netzwerk                       Deserialisierung
                               (LAN/WAN)
                                (LAN/WAN)

     Socket                                                         Socket



                          Programmieren II (cs108) - Bootcamp                      8
Umsetzung der Netzwerkkommunikation
                UDP
 DatagramPacket
 Adresse - IP-Information                                            Daten
  byte[]
  Typ - Parserinformation

    Daten
    byte[] toByte()
                                                                    Handler/
                                                                     Parser

                                      Netzwerk
                                      Netzwerk
                                    (LAN/WAN)
                                     (LAN/WAN)


DatagramSocket                                                    DatagramSocket


                            Programmieren II (cs108) - Bootcamp                9
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
                                                 Variable Typ ist in
* timeToWait = 0
* maxHealth = 100                                lesbarem Format,
* health = 100
* powerUp = 0
* speed = 300.0
                                                 übermittelte Daten
* jumpingPower = 15.0
* inAir = true                                   können detailliert
                                                 ausgegeben werden
* status = STANDING
* lastStatus = null
* KEY_RIGHT = true
* KEY_LEFT = false
* KEY_UP = true
* KEY_ACTION = true
* weaponRange = 600
* weaponSpeed = 600T




                                        Programmieren II (cs108) - Bootcamp                         10

Weitere ähnliche Inhalte

Ähnlich wie CS108 Bootcamp Eyeballs

GPU-Computing mit CUDA und OpenCL in der Praxis
GPU-Computing mit CUDA und OpenCL in der PraxisGPU-Computing mit CUDA und OpenCL in der Praxis
GPU-Computing mit CUDA und OpenCL in der Praxis
Jörn Dinkla
 
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDASchulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Jörn Dinkla
 
SNMP Applied - Sicheres Monitoring mit SNMP
SNMP Applied - Sicheres Monitoring mit SNMPSNMP Applied - Sicheres Monitoring mit SNMP
SNMP Applied - Sicheres Monitoring mit SNMP
Gerrit Beine
 
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
NETWAYS
 
Grundlagen der Kommunikation - von Binär zum OSI Modell
Grundlagen der Kommunikation - von Binär zum OSI ModellGrundlagen der Kommunikation - von Binär zum OSI Modell
Grundlagen der Kommunikation - von Binär zum OSI Modell
Christian Höserle
 
Hazelcast
HazelcastHazelcast
Hazelcast
Korhan Gülseven
 
E Security
E SecurityE Security
E Security
Udo Ornik
 
Dev Day 2024: Fabian Zillgens - Entwicklung einer Infrastruktur für maschinel...
Dev Day 2024: Fabian Zillgens - Entwicklung einer Infrastruktur für maschinel...Dev Day 2024: Fabian Zillgens - Entwicklung einer Infrastruktur für maschinel...
Dev Day 2024: Fabian Zillgens - Entwicklung einer Infrastruktur für maschinel...
emmaberlin1
 
Sockets – Theorie und Implementierung
Sockets – Theorie und ImplementierungSockets – Theorie und Implementierung
Sockets – Theorie und Implementierung
Andreas Roth
 
SNMP Applied
SNMP AppliedSNMP Applied
SNMP Applied
Gerrit Beine
 
Sockets – Theorie und Implementierung
Sockets – Theorie und ImplementierungSockets – Theorie und Implementierung
Sockets – Theorie und Implementierung
Andreas Roth
 
Crouzet Automation - em4 Ethernet Broschüre, deutsche Fassung
Crouzet Automation - em4 Ethernet Broschüre, deutsche FassungCrouzet Automation - em4 Ethernet Broschüre, deutsche Fassung
Crouzet Automation - em4 Ethernet Broschüre, deutsche Fassung
Crouzet
 
Fehleranalyse in SCCM
Fehleranalyse in SCCMFehleranalyse in SCCM
Fehleranalyse in SCCM
Digicomp Academy AG
 
Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur ...
Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur ...Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur ...
Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur ...
Volker Janz
 
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)
adesso AG
 
Sicheres Anwendungs-Monitoring mit SNMP - Kurzversion
Sicheres Anwendungs-Monitoring mit SNMP - KurzversionSicheres Anwendungs-Monitoring mit SNMP - Kurzversion
Sicheres Anwendungs-Monitoring mit SNMP - Kurzversion
Gerrit Beine
 
Citrix Day 2013: Citirx Networking
Citrix Day 2013: Citirx NetworkingCitrix Day 2013: Citirx Networking
Citrix Day 2013: Citirx Networking
Digicomp Academy AG
 
Go - Googles Sprache für skalierbare Systeme
Go - Googles Sprache für skalierbare SystemeGo - Googles Sprache für skalierbare Systeme
Go - Googles Sprache für skalierbare Systeme
Frank Müller
 
Multi-GPU-Computing: Eins, zwei, drei, ganz viele
Multi-GPU-Computing: Eins, zwei, drei, ganz vieleMulti-GPU-Computing: Eins, zwei, drei, ganz viele
Multi-GPU-Computing: Eins, zwei, drei, ganz viele
Jörn Dinkla
 
Neuigkeiten von Westermos MRD Mobilfunkroutern
Neuigkeiten von Westermos MRD MobilfunkrouternNeuigkeiten von Westermos MRD Mobilfunkroutern
Neuigkeiten von Westermos MRD Mobilfunkroutern
Westermo Network Technologies
 

Ähnlich wie CS108 Bootcamp Eyeballs (20)

GPU-Computing mit CUDA und OpenCL in der Praxis
GPU-Computing mit CUDA und OpenCL in der PraxisGPU-Computing mit CUDA und OpenCL in der Praxis
GPU-Computing mit CUDA und OpenCL in der Praxis
 
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDASchulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDA
 
SNMP Applied - Sicheres Monitoring mit SNMP
SNMP Applied - Sicheres Monitoring mit SNMPSNMP Applied - Sicheres Monitoring mit SNMP
SNMP Applied - Sicheres Monitoring mit SNMP
 
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
 
Grundlagen der Kommunikation - von Binär zum OSI Modell
Grundlagen der Kommunikation - von Binär zum OSI ModellGrundlagen der Kommunikation - von Binär zum OSI Modell
Grundlagen der Kommunikation - von Binär zum OSI Modell
 
Hazelcast
HazelcastHazelcast
Hazelcast
 
E Security
E SecurityE Security
E Security
 
Dev Day 2024: Fabian Zillgens - Entwicklung einer Infrastruktur für maschinel...
Dev Day 2024: Fabian Zillgens - Entwicklung einer Infrastruktur für maschinel...Dev Day 2024: Fabian Zillgens - Entwicklung einer Infrastruktur für maschinel...
Dev Day 2024: Fabian Zillgens - Entwicklung einer Infrastruktur für maschinel...
 
Sockets – Theorie und Implementierung
Sockets – Theorie und ImplementierungSockets – Theorie und Implementierung
Sockets – Theorie und Implementierung
 
SNMP Applied
SNMP AppliedSNMP Applied
SNMP Applied
 
Sockets – Theorie und Implementierung
Sockets – Theorie und ImplementierungSockets – Theorie und Implementierung
Sockets – Theorie und Implementierung
 
Crouzet Automation - em4 Ethernet Broschüre, deutsche Fassung
Crouzet Automation - em4 Ethernet Broschüre, deutsche FassungCrouzet Automation - em4 Ethernet Broschüre, deutsche Fassung
Crouzet Automation - em4 Ethernet Broschüre, deutsche Fassung
 
Fehleranalyse in SCCM
Fehleranalyse in SCCMFehleranalyse in SCCM
Fehleranalyse in SCCM
 
Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur ...
Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur ...Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur ...
Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur ...
 
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)
 
Sicheres Anwendungs-Monitoring mit SNMP - Kurzversion
Sicheres Anwendungs-Monitoring mit SNMP - KurzversionSicheres Anwendungs-Monitoring mit SNMP - Kurzversion
Sicheres Anwendungs-Monitoring mit SNMP - Kurzversion
 
Citrix Day 2013: Citirx Networking
Citrix Day 2013: Citirx NetworkingCitrix Day 2013: Citirx Networking
Citrix Day 2013: Citirx Networking
 
Go - Googles Sprache für skalierbare Systeme
Go - Googles Sprache für skalierbare SystemeGo - Googles Sprache für skalierbare Systeme
Go - Googles Sprache für skalierbare Systeme
 
Multi-GPU-Computing: Eins, zwei, drei, ganz viele
Multi-GPU-Computing: Eins, zwei, drei, ganz vieleMulti-GPU-Computing: Eins, zwei, drei, ganz viele
Multi-GPU-Computing: Eins, zwei, drei, ganz viele
 
Neuigkeiten von Westermos MRD Mobilfunkroutern
Neuigkeiten von Westermos MRD MobilfunkrouternNeuigkeiten von Westermos MRD Mobilfunkroutern
Neuigkeiten von Westermos MRD Mobilfunkroutern
 

Mehr von fg.informatik Universität Basel

fg.workshop: Software vulnerability
fg.workshop: Software vulnerabilityfg.workshop: Software vulnerability
fg.workshop: Software vulnerability
fg.informatik Universität Basel
 
fg.workshop: Opensource licenses
fg.workshop: Opensource licensesfg.workshop: Opensource licenses
fg.workshop: Opensource licenses
fg.informatik Universität Basel
 
Version management mit Git und Github
Version management mit Git und Github Version management mit Git und Github
Version management mit Git und Github
fg.informatik Universität Basel
 
Drahtlose Kommunikation und SDR
Drahtlose Kommunikation und SDR Drahtlose Kommunikation und SDR
Drahtlose Kommunikation und SDR
fg.informatik Universität Basel
 
OpenCL Grundlagen
OpenCL GrundlagenOpenCL Grundlagen
Website-Security
Website-SecurityWebsite-Security
Emergent gameplay
Emergent gameplayEmergent gameplay
JavaScript packt aus: "Alle haben mich falsch verstanden!"
JavaScript packt aus: "Alle haben mich falsch verstanden!"JavaScript packt aus: "Alle haben mich falsch verstanden!"
JavaScript packt aus: "Alle haben mich falsch verstanden!"
fg.informatik Universität Basel
 
Game Design Dokumentation und Projekt Management
Game Design Dokumentation und Projekt Management Game Design Dokumentation und Projekt Management
Game Design Dokumentation und Projekt Management
fg.informatik Universität Basel
 

Mehr von fg.informatik Universität Basel (16)

fg.workshop: Software vulnerability
fg.workshop: Software vulnerabilityfg.workshop: Software vulnerability
fg.workshop: Software vulnerability
 
fg.workshop: Opensource licenses
fg.workshop: Opensource licensesfg.workshop: Opensource licenses
fg.workshop: Opensource licenses
 
Version management mit Git und Github
Version management mit Git und Github Version management mit Git und Github
Version management mit Git und Github
 
Drahtlose Kommunikation und SDR
Drahtlose Kommunikation und SDR Drahtlose Kommunikation und SDR
Drahtlose Kommunikation und SDR
 
OpenCL Grundlagen
OpenCL GrundlagenOpenCL Grundlagen
OpenCL Grundlagen
 
Website-Security
Website-SecurityWebsite-Security
Website-Security
 
Emergent gameplay
Emergent gameplayEmergent gameplay
Emergent gameplay
 
JavaScript packt aus: "Alle haben mich falsch verstanden!"
JavaScript packt aus: "Alle haben mich falsch verstanden!"JavaScript packt aus: "Alle haben mich falsch verstanden!"
JavaScript packt aus: "Alle haben mich falsch verstanden!"
 
Game Design Dokumentation und Projekt Management
Game Design Dokumentation und Projekt Management Game Design Dokumentation und Projekt Management
Game Design Dokumentation und Projekt Management
 
Hydraulische Erosion und Terraingeneration (GPGPU)
Hydraulische Erosion und Terraingeneration (GPGPU)Hydraulische Erosion und Terraingeneration (GPGPU)
Hydraulische Erosion und Terraingeneration (GPGPU)
 
Ruby, Ruby, Ruby!
Ruby, Ruby, Ruby!Ruby, Ruby, Ruby!
Ruby, Ruby, Ruby!
 
CS108 Bootcamp Einführung YASY
CS108 Bootcamp Einführung YASYCS108 Bootcamp Einführung YASY
CS108 Bootcamp Einführung YASY
 
CS108 Bootcamp 2011 Intro - Jarwars
CS108 Bootcamp 2011 Intro - JarwarsCS108 Bootcamp 2011 Intro - Jarwars
CS108 Bootcamp 2011 Intro - Jarwars
 
NumericOS - How to build your own Operatingsystem
NumericOS - How to build your own OperatingsystemNumericOS - How to build your own Operatingsystem
NumericOS - How to build your own Operatingsystem
 
DLL-Injection
DLL-InjectionDLL-Injection
DLL-Injection
 
Open source hardware
Open source hardwareOpen source hardware
Open source hardware
 

CS108 Bootcamp Eyeballs

  • 2. Einführung Spielidee: Jump'n'Run mit „Capture the Flag“-Elementen, 2 Teams c Programmieren II (cs108) - Bootcamp 2
  • 5. Einführung Aufteilung in: zeitunkritische (und singuläre) Daten zeitkritische (redundante) Daten ➢ Logindaten ➢ Eingabedaten ➢ Menüinformationen ➢ Spieldaten ➢ Manche spielflussrelevante Daten ➢ Spielerposition/Status ➢ z.B. Flaggeninformationen, ➢ Punktestand ➢ Power-Ups Programmieren II (cs108) - Bootcamp 5
  • 6. Netzwerkkommunikation TCP MENÜ Client Asynchrone Kommunikation ➢Sendet im Menü gemachte Eingaben ➢Ändert den Menüzustand nach Server Serverantwort ➢Sendet Nachrichten ➢Verarbeitet die empfangenen Informationen, veranlasst Zustandswechsel auf Client ➢Verwaltet die Spiele/Spieler ➢Leitet Nachrichten weiter Programmieren II (cs108) - Bootcamp 6
  • 7. Netzwerkkommunikation UDP Client Asynchrone Kommunikation ➢Sendet sämtliche Eingaben ➢Zeigt die empfangenen Spiel- daten an Server ➢Verarbeitet die Eingabedaten ➢Aktualisiert den Spielstatus ➢Kontrolliert die Regeln ➢Sendet die Spieldaten Programmieren II (cs108) - Bootcamp 7
  • 8. Umsetzung der Netzwerkkommunikation TCP NetPackage Daten Typ - Parserinformation xxNetObject Daten Handler/ Parser Serialisierung Netzwerk Netzwerk Deserialisierung (LAN/WAN) (LAN/WAN) Socket Socket Programmieren II (cs108) - Bootcamp 8
  • 9. Umsetzung der Netzwerkkommunikation UDP DatagramPacket Adresse - IP-Information Daten byte[] Typ - Parserinformation Daten byte[] toByte() Handler/ Parser Netzwerk Netzwerk (LAN/WAN) (LAN/WAN) DatagramSocket DatagramSocket Programmieren II (cs108) - Bootcamp 9
  • 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 Variable Typ ist in * timeToWait = 0 * maxHealth = 100 lesbarem Format, * health = 100 * powerUp = 0 * speed = 300.0 übermittelte Daten * jumpingPower = 15.0 * inAir = true können detailliert ausgegeben werden * status = STANDING * lastStatus = null * KEY_RIGHT = true * KEY_LEFT = false * KEY_UP = true * KEY_ACTION = true * weaponRange = 600 * weaponSpeed = 600T Programmieren II (cs108) - Bootcamp 10