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

Post on 05-Apr-2015

111 views 2 download

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

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

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“

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

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)

Entwicklung

•Klassendiagramm war fast perfekt

• JavaDoc vom Repository

•einheitliche Ausgabe von Debug-Meldungen

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

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

Die KI

•SCHNELL!

•Heuristik, von Anfang an KEIN Baum

•durchtrainierter Mr.X

•Detektive simulieren Mr.X

Die Map

•schnell, Dijkstra

•stark rekursiv

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

erreichbare Stationen

•Support für GUI

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

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

Version 2.0:

1. Quartal 200X

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