Balter Martin Kuschny Daniel Tscholl Manuel 1. Agenda Was ist KuBaTsch? MVC Model View Netzwerk...

30
Balter Martin Kuschny Daniel Tscholl Manuel 1

Transcript of Balter Martin Kuschny Daniel Tscholl Manuel 1. Agenda Was ist KuBaTsch? MVC Model View Netzwerk...

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