GUI:Lars Taube, Sascha Baghdadli, Matthias Korn, Nicolas Ngandeu AI:Gerald Friedland, Sven Bittner,...
-
Upload
burke-duker -
Category
Documents
-
view
114 -
download
2
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