150 lines
4.6 KiB
Text
150 lines
4.6 KiB
Text
![]() |
@startuml
|
||
|
class Comune {
|
||
|
- nome: String
|
||
|
- codice: String
|
||
|
+ getNome(): String
|
||
|
+ getCodice(): String
|
||
|
}
|
||
|
|
||
|
class Comuni {
|
||
|
- comuni: ArrayList<Comune>
|
||
|
+ addComune(Comune): void
|
||
|
+ removeComune(Comune): void
|
||
|
+ getComuni(): ArrayList<Comune>
|
||
|
+ getCodiceComune(String): String
|
||
|
}
|
||
|
|
||
|
enum Formato {
|
||
|
JSON
|
||
|
XML
|
||
|
}
|
||
|
|
||
|
enum StatoGioco {
|
||
|
IN_CORSO
|
||
|
GIUSTIZIATO
|
||
|
RIVOLUZIONE
|
||
|
DODICESIMO_GIORNO
|
||
|
NON_ABBASTANZA_SOLDI
|
||
|
ARRESTATO
|
||
|
}
|
||
|
|
||
|
class PatenteELibbrettoPregohMain {
|
||
|
+main(String[]): void
|
||
|
-gameLoop(GameData): void
|
||
|
-gestisciPersona(GameData, ArrayList<PersonaControllata>): void
|
||
|
-datiSbagliatiRifiutati(Persona, GameData, ArrayList<PersonaControllata>): void
|
||
|
-personaRifiutata(Persona, ArrayList<PersonaControllata>): void
|
||
|
-gestisciMazzetta(Persona, GameData, ArrayList<PersonaControllata>): void
|
||
|
-mazzettaRifiutata(Persona, ArrayList<PersonaControllata>): void
|
||
|
-mazzettaPoliziotto(Persona, GameData, ArrayList<PersonaControllata>): void
|
||
|
-mazzettaRivoluzionario(Persona, GameData, ArrayList<PersonaControllata>): void
|
||
|
-datiCorrettiRifiutati(Persona, ArrayList<PersonaControllata>, GameData): void
|
||
|
-datiSbagliatiAccettati(Persona, ArrayList<PersonaControllata>, GameData): void
|
||
|
-datiCorrettiAccettati(Persona, ArrayList<PersonaControllata>): void
|
||
|
-endGame(GameData): void
|
||
|
-controllaPersona(Persona, Comuni, GameData): boolean
|
||
|
-getFormato(): Formato
|
||
|
}
|
||
|
|
||
|
class Persona {
|
||
|
-nome: String
|
||
|
-cognome: String
|
||
|
-sesso: String
|
||
|
-dataNascita: String
|
||
|
-comuneNascita: String
|
||
|
-codiceFiscale: String
|
||
|
-scadenzaDocumento: String
|
||
|
+getNome(): String
|
||
|
+getCognome(): String
|
||
|
+getSesso(): String
|
||
|
+getDataNascita(): String
|
||
|
+getComuneNascita(): String
|
||
|
+getCodiceFiscale(): String
|
||
|
+getScadenzaDocumento(): String
|
||
|
+isCodiceFiscaleValido(Comuni): boolean
|
||
|
+calcolaCodiceFiscale(Comuni): String
|
||
|
}
|
||
|
|
||
|
class GameData {
|
||
|
- formato: Formato
|
||
|
- nomePersonaggio: String
|
||
|
- diario: ArrayList<PaginaDiario>
|
||
|
- comuni: Comuni
|
||
|
- persone: ArrayList<Persona>
|
||
|
- saldo: double
|
||
|
- numeroMazzetteAccettatePolizia: int
|
||
|
- numeroRivoluzionariAccettati: int
|
||
|
- statoGioco: StatoGioco
|
||
|
- giorno: int
|
||
|
- data: LocalDate
|
||
|
+ getDiario(): ArrayList<PaginaDiario>
|
||
|
+ getComuni(): Comuni
|
||
|
+ getPersone(): ArrayList<Persona>
|
||
|
+ getSaldo(): double
|
||
|
+ getPersonaDaControlare(): Persona
|
||
|
+ getNumeroMazzetteAccettatePolizia(): int
|
||
|
+ getNumeroRivoluzionariAccettati(): int
|
||
|
+ addPaginaDiario(PaginaDiario): void
|
||
|
+ addSaldo(double): void
|
||
|
+ pagaMulta(double): void
|
||
|
+ incrementaMazzetteAccettatePolizia(): void
|
||
|
+ incrementaRivoluzionariAccettati(): void
|
||
|
+ getNomePersonaggio(): String
|
||
|
+ getStatoGioco(): StatoGioco
|
||
|
+ getGiorno(): int
|
||
|
+ incrementaGiorno(ArrayList<PersonaControllata>): void
|
||
|
+ getData(): LocalDate
|
||
|
+ saveDiario(): void
|
||
|
}
|
||
|
|
||
|
class PaginaDiario {
|
||
|
- data: String
|
||
|
- bilancio: double
|
||
|
- personeControllate: ArrayList<PersonaControllata>
|
||
|
+ getGiorno(): int
|
||
|
+ getData(): String
|
||
|
+ getBilancio(): double
|
||
|
+ getPersoneControllate(): ArrayList<PersonaControllata>
|
||
|
+ addPersonaControllata(PersonaControllata): void
|
||
|
+ removePersonaControllata(PersonaControllata): void
|
||
|
}
|
||
|
|
||
|
class Parser {
|
||
|
+ parsePersone(Formato, String): ArrayList<Persona>
|
||
|
+ parseComuni(Formato, String): Comuni
|
||
|
+ saveDiario(String, ArrayList<PaginaDiario>, Formato): void
|
||
|
}
|
||
|
|
||
|
class PersonaControllata {
|
||
|
- esitoControllo: boolean <<@SerializedName("approvato")>>
|
||
|
- tipoPersonaControllata: TipoPersonaControllata <<transient>>
|
||
|
--
|
||
|
+ PersonaControllata(persona: Persona, esitoControllo: boolean, tipoPersonaControllata: TipoPersonaControllata)
|
||
|
+ isEsitoControllo(): boolean
|
||
|
+ getTipoPersonaControllata(): TipoPersonaControllata
|
||
|
+ getStatoTransito(): String
|
||
|
+ toString(): String
|
||
|
}
|
||
|
|
||
|
PersonaControllata --|> Persona
|
||
|
|
||
|
PatenteELibbrettoPregohMain --> GameData
|
||
|
PatenteELibbrettoPregohMain --> PersonaControllata
|
||
|
PatenteELibbrettoPregohMain --> Persona
|
||
|
PatenteELibbrettoPregohMain --> Formato
|
||
|
PatenteELibbrettoPregohMain --> StatoGioco
|
||
|
PatenteELibbrettoPregohMain --> Comuni
|
||
|
PatenteELibbrettoPregohMain --> Parser
|
||
|
Persona --> Comuni
|
||
|
Comune <-- Comuni
|
||
|
GameData --> Comuni
|
||
|
GameData --> "0..*" Persona
|
||
|
GameData --> "0..*" PaginaDiario
|
||
|
GameData --> Formato
|
||
|
GameData --> StatoGioco
|
||
|
|
||
|
GameData --> "0..*" PersonaControllata
|
||
|
|
||
|
}
|
||
|
@enduml
|