Skip to content

Old Achievement Implementation

Michele Perlotto edited this page Sep 23, 2025 · 1 revision

...

Gamification

Struttura

Il punto centrale della gestione degli Achievement è una statistica. Una statistica è un elemento che caratterizza il progresso dei giocatori in determinate circostanze del gioco. Ad esempio, una statistica potrebbe riferirsi al numero di partite vinte in una determinata modalità di gioco, e contro un determinato robot.

Ad ogni achievement è associata una statistica, a cui afferirà nel momento in cui si dovrà valutare se è stato ottenuto o meno da parte di un giocatore.

Una statistica è caratterizzata da tre proprietà:

  • Modalità di gioco (Game Mode), ad esempio: "numero di partite giocate in modalità Scalata".
  • Ruolo (Role), ovvero il particolare valore a cui si riferisce la statistica come Punteggio, Partite giocate o Partite vinte.
  • Robot, ovvero l'eventuale Robot a cui può essere associata la statistica, ad esempio: "numero di partite giocate contro Randoop".

Attraverso queste proprietà è possibile calcolare il valore di una statistica, data una lista di giochi da cui calcolarla. A questo scopo è previsto un oggetto associato alla statistica tramite Pattern Strategy che si occupa di implementare la strategia di calcolo a seconda delle proprietà sopra descritte.

Infine, l'associazione tra la statistica e il suo valore di progresso relativo a un giocatore, è realizzata attraverso una classe associativa Statistic Progress.

Class Diagram

Class Diagram - Achievements(3)

Clone this wiki locally