Codice PlantUML
' PlantUML: tool per la generazione di UML (.png) in modo testuale
' supporta diversi diagrammi UML
' (es. diagramma delle classi, di sequenza...)
' esempio file plantuml.txt per generare UML a destra
' download (jar): http://plantuml.com/download
' documentazione: http://plantuml.com/class-diagram
@startuml
' START STYLE (B/W)
skinparam {
monochrome true
shadowing false
classBackgroundColor white
noteBackgroundColor white
classAttributeIconSize 0
}
hide circle
' END STYLE (B/W)
title Path of Neo - Class Diagram
class Main
class Cappotto {
- slots : Queue
- capienza : int
+ aggiungi(a:Arma) : void
+ armaDisponibile() : boolean
+ estraiArma() : Arma
}
class Neo {
- cappotto : Cappotto
+ Neo(cappotto)
+ combatti(stanza) : void
}
class Stanza {
- nemici : List
- minaccia : int
+ Stanza(difficolta)
- generaNemici() : void
+ affrontaNemico() : Nemico
+ ripulita() : boolean
+ stampaNemiciPresenti() : void
}
class Nemico <> {
# stordito : boolean
# sconfitto : boolean
# cntStordito : int
# cntNormale : int
# cntPerforante : int
# tipo : String
+ sconfitto() : boolean
+ getLivelloMinaccia() : int
+ getTipo() : String
+ getUltimoDanno() : String
# {abstract} infliggiColpiStordenti(n:int) : void
# {abstract} infliggiColpiNormali(n:int) : void
# {abstract} infliggiColpiPerforanti(n:int) : void
}
class Arma <> {
- ingombro : int
# utilizzi : int
# nome : String
+ Arma(ingombro, utilizzi)
+ getNome() : String
+ esaurita() : boolean
+ attacca(n:Nemico) : void
# {abstract} colpisci(n:Nemico) : void
}
note left of Arma::attacca
colpisci(n);
utilizzi--;
end note
class Tirapugni
class Pistola
class Fucile
class Katana {
- mode: String
# colpisci(n:Nemico) : void
- colpoSamurai(n:Nemico) : void
- colpoNinja(n:Nemico) : void
}
class Poliziotto
class Soldato
class Elite
hide Main members
hide Poliziotto members
hide Elite members
hide Soldato members
hide Tirapugni members
hide Fucile members
hide Pistola members
Arma <|-down- Tirapugni
Arma <|-down- Pistola
Arma <|-down- Fucile
Arma <|-down- Katana
Nemico <|-down- Poliziotto
Nemico <|-down- Soldato
Nemico <|-down- Elite
Main -right-> Neo : crea
Neo o-right-> "1" Cappotto
Neo --> Arma : usa
Neo -up-> Stanza
Cappotto o-down-> Arma
Arma -right-> Nemico : attacca
@enduml