balter martin kuschny daniel tscholl manuel 1. agenda was ist kubatsch? mvc model view netzwerk...

30
Balter Martin Kuschny Daniel Tscholl Manuel 1

Upload: emlin-arant

Post on 06-Apr-2016

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Balter Martin Kuschny Daniel Tscholl Manuel 1. Agenda Was ist KuBaTsch? MVC Model View Netzwerk Kollisionssystem Rundensystem 2

1

Balter MartinKuschny DanielTscholl Manuel

Page 2: Balter Martin Kuschny Daniel Tscholl Manuel 1. Agenda Was ist KuBaTsch? MVC Model View Netzwerk Kollisionssystem Rundensystem 2

2

Agenda

• Was ist KuBaTsch?• MVC• Model• View• Netzwerk• Kollisionssystem• Rundensystem

Page 3: Balter Martin Kuschny Daniel Tscholl Manuel 1. Agenda Was ist KuBaTsch? MVC Model View Netzwerk Kollisionssystem Rundensystem 2

3

Was ist

• Kuschny Balter Tscholl• 4 Spieler Ping Pong• Netzwerk fähig• Rundenbasierend

Page 4: Balter Martin Kuschny Daniel Tscholl Manuel 1. Agenda Was ist KuBaTsch? MVC Model View Netzwerk Kollisionssystem Rundensystem 2

4

Ziele von

• MVC – Pattern• Netzwerkfähiges Spiel– 2 bis 4 Spieler

• Dedicated Server• Rundenbasierend

Page 5: Balter Martin Kuschny Daniel Tscholl Manuel 1. Agenda Was ist KuBaTsch? MVC Model View Netzwerk Kollisionssystem Rundensystem 2

5

Model View Controller

GameClient

Model

View

Controller

Messages

Network

Model

View

Controller

Network

GameServer

Page 6: Balter Martin Kuschny Daniel Tscholl Manuel 1. Agenda Was ist KuBaTsch? MVC Model View Netzwerk Kollisionssystem Rundensystem 2

6

Übersichtsdiagramm

• TODO: Klassendiagramm des Models

Page 7: Balter Martin Kuschny Daniel Tscholl Manuel 1. Agenda Was ist KuBaTsch? MVC Model View Netzwerk Kollisionssystem Rundensystem 2

7

Model

• TODO: Klassendiagramm des Models

Page 8: Balter Martin Kuschny Daniel Tscholl Manuel 1. Agenda Was ist KuBaTsch? MVC Model View Netzwerk Kollisionssystem Rundensystem 2

8

Auszug - Model

Page 9: Balter Martin Kuschny Daniel Tscholl Manuel 1. Agenda Was ist KuBaTsch? MVC Model View Netzwerk Kollisionssystem Rundensystem 2

9

Page 10: Balter Martin Kuschny Daniel Tscholl Manuel 1. Agenda Was ist KuBaTsch? MVC Model View Netzwerk Kollisionssystem Rundensystem 2

10

Client View class v iew

GameView{leaf}

«interface»INotifiableView

JoinServ erView KeySettingsView

JFrameMainForm

MenuView MouseSettingsView

NotGameView

PlayOnlineView SettingsViewStartNewServerView

KuBaTschPaneBloodPanelViewController

Page 11: Balter Martin Kuschny Daniel Tscholl Manuel 1. Agenda Was ist KuBaTsch? MVC Model View Netzwerk Kollisionssystem Rundensystem 2

11

Controller zur View

Page 12: Balter Martin Kuschny Daniel Tscholl Manuel 1. Agenda Was ist KuBaTsch? MVC Model View Netzwerk Kollisionssystem Rundensystem 2

12

Agenda

• Was ist KuBaTsch?• MVC• Model• View• Netzwerk• Kollisionssystem• Rundensystem

Page 13: Balter Martin Kuschny Daniel Tscholl Manuel 1. Agenda Was ist KuBaTsch? MVC Model View Netzwerk Kollisionssystem Rundensystem 2

13

Netzwerkkommunikation (1)

class message

ConnectAsPlayerMessage

Serializable

«interface»INetworkMessage

PaddleMov edMessage Serv erInfoMessage SetUniqueIdMessage UpdateGameStateMessage

Page 14: Balter Martin Kuschny Daniel Tscholl Manuel 1. Agenda Was ist KuBaTsch? MVC Model View Netzwerk Kollisionssystem Rundensystem 2

14

Netzwerkkommunikation (2)

Page 15: Balter Martin Kuschny Daniel Tscholl Manuel 1. Agenda Was ist KuBaTsch? MVC Model View Netzwerk Kollisionssystem Rundensystem 2

15

Infrastruktur - Server

Page 16: Balter Martin Kuschny Daniel Tscholl Manuel 1. Agenda Was ist KuBaTsch? MVC Model View Netzwerk Kollisionssystem Rundensystem 2

16

Infrastruktur - Client

Page 17: Balter Martin Kuschny Daniel Tscholl Manuel 1. Agenda Was ist KuBaTsch? MVC Model View Netzwerk Kollisionssystem Rundensystem 2

17

Kollisionsregeln

PlayerPaddle

HitArea

PaddleReflectRule

HitAreaReflectRule

PlayerPaddle

HitArea

PaddleReflectRule

HitAreaReflectRule

BallPlayTickRule

IncreaseSpeedRule

IUpdatable/ICollidable ICollidable

Page 18: Balter Martin Kuschny Daniel Tscholl Manuel 1. Agenda Was ist KuBaTsch? MVC Model View Netzwerk Kollisionssystem Rundensystem 2

18

Kollisionsregeln

PlayerPaddle

HitArea

PaddleReflectRule

HitAreaReflectRule

PlayerPaddle

HitArea

PaddleReflectRule

HitAreaReflectRule

BallPlayTickRule

IncreaseSpeedRule

Kollidierende Elemente

Page 19: Balter Martin Kuschny Daniel Tscholl Manuel 1. Agenda Was ist KuBaTsch? MVC Model View Netzwerk Kollisionssystem Rundensystem 2

19

Kollisionsregeln

PlayerPaddle

HitArea

PaddleReflectRule

HitAreaReflectRule

PlayerPaddle

HitArea

PaddleReflectRule

HitAreaReflectRule

BallPlayTickRule

IncreaseSpeedRule

Kollidierende Elemente Angewendete Regeln

Page 20: Balter Martin Kuschny Daniel Tscholl Manuel 1. Agenda Was ist KuBaTsch? MVC Model View Netzwerk Kollisionssystem Rundensystem 2

20

Wichtige Regeln

• PaddleReflectRule (Wenn Paddle mit Ball kollidiert)

– Reflektiert den Ball mit entsprechendem Winkel– Färbt den Ball neu

• PlayerHitAreaReflectRule (Wenn Ball mit HitArea kollidiert)

– Reflektiert den Ball – Zieht dem Spieler Leben ab

• IncreaseBallSpeedRule– Beschleunigt den Ball

Page 21: Balter Martin Kuschny Daniel Tscholl Manuel 1. Agenda Was ist KuBaTsch? MVC Model View Netzwerk Kollisionssystem Rundensystem 2

Kollision

• Zwei Phasen– Rechteckkollision– Polygonkollision

• Linienüberschneidung von zwei Polygone = Kollision

• Polygone haben verschiedene Kollisionspunkte -> Basis für Linienüberschneidung

Page 22: Balter Martin Kuschny Daniel Tscholl Manuel 1. Agenda Was ist KuBaTsch? MVC Model View Netzwerk Kollisionssystem Rundensystem 2

Rechteckkollisionsprüfung

Keine Rechteck Kollision Rechteck Kollision jedoch keine Polygonkollision

Page 23: Balter Martin Kuschny Daniel Tscholl Manuel 1. Agenda Was ist KuBaTsch? MVC Model View Netzwerk Kollisionssystem Rundensystem 2

Polygonkollisionsprüfung

• Nur wenn Rechtecke kollidieren

Keine Polygonkollision Polygonkollision

Page 24: Balter Martin Kuschny Daniel Tscholl Manuel 1. Agenda Was ist KuBaTsch? MVC Model View Netzwerk Kollisionssystem Rundensystem 2

Polygonkollisionsprüfung

Polygonkollision

Page 25: Balter Martin Kuschny Daniel Tscholl Manuel 1. Agenda Was ist KuBaTsch? MVC Model View Netzwerk Kollisionssystem Rundensystem 2

Polygonkollisionsprüfung

Polygonkollision

Page 26: Balter Martin Kuschny Daniel Tscholl Manuel 1. Agenda Was ist KuBaTsch? MVC Model View Netzwerk Kollisionssystem Rundensystem 2

Polygonkollisionsprüfung

Polygonkollision

Page 27: Balter Martin Kuschny Daniel Tscholl Manuel 1. Agenda Was ist KuBaTsch? MVC Model View Netzwerk Kollisionssystem Rundensystem 2

27

Rundensystem

Page 28: Balter Martin Kuschny Daniel Tscholl Manuel 1. Agenda Was ist KuBaTsch? MVC Model View Netzwerk Kollisionssystem Rundensystem 2

28

OnePlayerSurvivingRule

• canStartRound– Sind mehr als 1 Spieler auf dem Server?

• startRound– Setzte bei allen Spielern die Leben auf 100%– Setzte einen Ball auf das Spielfeld

• isRoundFinished– Ist nur noch 1 lebender Spieler auf dem Spielfeld

• finishRound– Entferne alle Bälle aus dem Spielfeld– Überlebender Spieler bekommt einen Punkt

Page 29: Balter Martin Kuschny Daniel Tscholl Manuel 1. Agenda Was ist KuBaTsch? MVC Model View Netzwerk Kollisionssystem Rundensystem 2

29

Programmpräsentation

Live und in Farbe

Page 30: Balter Martin Kuschny Daniel Tscholl Manuel 1. Agenda Was ist KuBaTsch? MVC Model View Netzwerk Kollisionssystem Rundensystem 2

30

Fragerunde