GUI:Lars Taube, Sascha Baghdadli, Matthias Korn, Nicolas Ngandeu AI:Gerald Friedland, Sven Bittner,...

16
GUI: Lars Taube, Sascha Baghdadli, Matthias Korn, Nicolas Ngandeu AI: Gerald Friedland, Sven Bittner, Sebastian Frielitz, Robert Günzler Main: Marcus Gottwald, Manuel Beetz, Dennis Heckert Map: Henrik Steffien, Nicole Lipprandt, Jemea Ntuba, Falco Richter

Transcript of GUI:Lars Taube, Sascha Baghdadli, Matthias Korn, Nicolas Ngandeu AI:Gerald Friedland, Sven Bittner,...

Page 1: GUI:Lars Taube, Sascha Baghdadli, Matthias Korn, Nicolas Ngandeu AI:Gerald Friedland, Sven Bittner, Sebastian Frielitz, Robert Günzler Main:Marcus Gottwald,

GUI: Lars Taube, Sascha Baghdadli, Matthias Korn, Nicolas NgandeuAI: Gerald Friedland, Sven Bittner, Sebastian Frielitz, Robert GünzlerMain: Marcus Gottwald, Manuel Beetz, Dennis HeckertMap: Henrik Steffien, Nicole Lipprandt, Jemea Ntuba, Falco Richter

Tutor: Manuel Scholz

Page 2: GUI:Lars Taube, Sascha Baghdadli, Matthias Korn, Nicolas Ngandeu AI:Gerald Friedland, Sven Bittner, Sebastian Frielitz, Robert Günzler Main:Marcus Gottwald,

Fakten, Fakten, Fakten

geplant: 33 Klassen (incl. Interfaces)erreicht: 46 Klassen, 12 interne

geplant: Spezifikation über Interfaceserreicht: vollständig erfüllt

Motto: „Hauptsache, ditt löift“

Page 3: GUI:Lars Taube, Sascha Baghdadli, Matthias Korn, Nicolas Ngandeu AI:Gerald Friedland, Sven Bittner, Sebastian Frielitz, Robert Günzler Main:Marcus Gottwald,

Mehr Fakten

6.6.2000 Methoden & Klassenköpfe13.6.2000 Main fertig, Random AI, GUI

clickable, Kartenobjekt20.6.2000 AI denkt, GUI Rohbau,

1. lauffähige Version4.7.2000 Beta-Version, ganze Spiele

11.7.2000 der Konkurrenz helfen :) 18.7.2000 RELEASE

Page 4: GUI:Lars Taube, Sascha Baghdadli, Matthias Korn, Nicolas Ngandeu AI:Gerald Friedland, Sven Bittner, Sebastian Frielitz, Robert Günzler Main:Marcus Gottwald,

Noch mehr Fakten

•durchschnittliche Zugzeit einer KI auf

troll/elfe: 0,5 Sekunden

•mehrere Spieler in selber Laufzeit- umgebung möglich

•Ausgabe von Debug-Meldungen übers

Netz (telnet)

Page 5: GUI:Lars Taube, Sascha Baghdadli, Matthias Korn, Nicolas Ngandeu AI:Gerald Friedland, Sven Bittner, Sebastian Frielitz, Robert Günzler Main:Marcus Gottwald,

Entwicklung

•Klassendiagramm war fast perfekt

• JavaDoc vom Repository

•einheitliche Ausgabe von Debug-Meldungen

Page 6: GUI:Lars Taube, Sascha Baghdadli, Matthias Korn, Nicolas Ngandeu AI:Gerald Friedland, Sven Bittner, Sebastian Frielitz, Robert Günzler Main:Marcus Gottwald,

AbstractMrXGame

<<Abstract>>

AbstractDetectiveGame

<<Abstract>>

MrXGuiGame

MrXAiGame

DetGuiGame

DetAiGame

FuxCl ient

chefButton()

<<Interface>>

Cl ient

<<Interface>>

Cl ientPlayer

<<Interface>>

InterfaceMainGui

noti fyMove(Move)giveMessage(M essage)noti fyGameOver()

<<Interface>>

InterfaceMainAi

noti fyMove(Move)giveMessage(M essage)getMove(Player) : Move

<<Interface>>

AbstractFuxGame

getAi () : InterfaceMainAi

<<Abstract>>

0..1

1

0..1

1

InterfaceMainPlayerGui

getMove() : Move

<<Interface>>

1

0..1

1

0..1

SyTicketSupply NYcTicketSupply

(c) 2000:SoftwarepraktikumInformatik FU Berl inFUX-Gruppe

InterfaceMainMap

noti fyMove(Move)

<<Interface>>

InterfaceT icketSupply

noti fyMove(Move)getNrT ickets(Player, T icket) : int

<<Interface>>

InterfaceMainViewerGui

<<Interface>>

FuxTimer

setT imer()getSecondsLeft()

FuxViewer

getMap() : InterfaceMainMapgetT icketSupply() : InterfaceTicketSupplygetPlayers() : Player[]getT imer() : FuxT imer

1

1

1

1

1

1

1

1

1

0..*

1

0..*

1

1

1

1

Ki

<<Abstract>>

Detective_Ki

MrX_Ki

InterfaceGuiMap

getPlayerPos() : [Player]getXYcoord() : [Station]

<<Interface>>

InterfaceAiMap

getNeighbours()getPosPlayer()isFree()getShortestPath()getAl lPaths()getAl lPaths()

<<Interface>>

Route

type : int

Barrier

id : int

Map

Station

number : intname : StringcoorX : intcoorY : intisStartPos : boolean

1..*

1

1..*

1

von

1

1

1

1

nach

1

0..*

1

0..*

via

0..1

0..1

0..1

0..1

1

1

1

1

Player

name : Stringrole : int

3..6

1

3..6

1

1

0..1

1

0..1

GUI

Page 7: GUI:Lars Taube, Sascha Baghdadli, Matthias Korn, Nicolas Ngandeu AI:Gerald Friedland, Sven Bittner, Sebastian Frielitz, Robert Günzler Main:Marcus Gottwald,
Page 8: GUI:Lars Taube, Sascha Baghdadli, Matthias Korn, Nicolas Ngandeu AI:Gerald Friedland, Sven Bittner, Sebastian Frielitz, Robert Günzler Main:Marcus Gottwald,

Die GUI

•vollständig in Swing•unabhängig von Auflösung,

läuft gut ab 640x480, Fenster & Vollbild•große Bilder handhabbar•KISS — zwei schnelle Klicks zum Ziehen•keine Fehleingaben möglich•Anzeige der Züge/Tickets von Mr.X

Page 9: GUI:Lars Taube, Sascha Baghdadli, Matthias Korn, Nicolas Ngandeu AI:Gerald Friedland, Sven Bittner, Sebastian Frielitz, Robert Günzler Main:Marcus Gottwald,
Page 10: GUI:Lars Taube, Sascha Baghdadli, Matthias Korn, Nicolas Ngandeu AI:Gerald Friedland, Sven Bittner, Sebastian Frielitz, Robert Günzler Main:Marcus Gottwald,

Die KI

•SCHNELL!

•Heuristik, von Anfang an KEIN Baum

•durchtrainierter Mr.X

•Detektive simulieren Mr.X

Page 11: GUI:Lars Taube, Sascha Baghdadli, Matthias Korn, Nicolas Ngandeu AI:Gerald Friedland, Sven Bittner, Sebastian Frielitz, Robert Günzler Main:Marcus Gottwald,

Die Map

•schnell, Dijkstra

•stark rekursiv

•voller Support für KI: kürzester Weg,

erreichbare Stationen

•Support für GUI

Page 12: GUI:Lars Taube, Sascha Baghdadli, Matthias Korn, Nicolas Ngandeu AI:Gerald Friedland, Sven Bittner, Sebastian Frielitz, Robert Günzler Main:Marcus Gottwald,

Die Main

•basiert nicht auf AbstractClient

•Debug-Schnittstelle für alle Module

•diverse Argumente für Kommandozeile: -xHans -dDieter -GdKlaus -GvPetra-Shost -P90210

•graphischer StartScreen auf Wunsch

Page 13: GUI:Lars Taube, Sascha Baghdadli, Matthias Korn, Nicolas Ngandeu AI:Gerald Friedland, Sven Bittner, Sebastian Frielitz, Robert Günzler Main:Marcus Gottwald,

Lernzielkontrolle

•Swing ist „verbesserungsfähig“...

•CVS, JavaDoc & UNIX sind gut und wichtig

•das Planen hat sich gelohnt

•ohne regelmäßige Tritte in den Hintern

geht‘s trotzdem nicht

Page 14: GUI:Lars Taube, Sascha Baghdadli, Matthias Korn, Nicolas Ngandeu AI:Gerald Friedland, Sven Bittner, Sebastian Frielitz, Robert Günzler Main:Marcus Gottwald,
Page 15: GUI:Lars Taube, Sascha Baghdadli, Matthias Korn, Nicolas Ngandeu AI:Gerald Friedland, Sven Bittner, Sebastian Frielitz, Robert Günzler Main:Marcus Gottwald,

Version 2.0:

1. Quartal 200X

Page 16: GUI:Lars Taube, Sascha Baghdadli, Matthias Korn, Nicolas Ngandeu AI:Gerald Friedland, Sven Bittner, Sebastian Frielitz, Robert Günzler Main:Marcus Gottwald,

GUI: Lars Taube, Sascha Baghdadli, Matthias Korn, Nicolas NgandeuAI: Gerald Friedland, Sven Bittner, Sebastian Frielitz, Robert GünzlerMain: Marcus Gottwald, Manuel Beetz, Dennis HeckertMap: Henrik Steffien, Nicole Lipprandt, Jemea Ntuba, Falco Richter

Eismann,Wasserträger & Pizzabäcker: Manuel Scholz