Package controller
Class GameController
java.lang.Object
controller.GameController
- All Implemented Interfaces:
Runnable
La classe GameController gestisce il ciclo principale del gioco e coordina
il modello, la vista e la gestione degli input. È responsabile
dell'inizializzazione dei componenti chiave del gioco, come il model manager,
il pannello di gioco e i listener per gli input, e avvia il ciclo del gioco
che ne aggiorna continuamente lo stato.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate GamePanel
private Thread
private GameWindow
private ModelManager
Il manager del modello che gestisce lo stato e i dati del gioco.private MouseInputs
Il gestore degli input per gli eventi del mouse.private final int
Il numero di aggiornamenti per secondo (UPS). -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
Inizializza i componenti chiave del gioco come il model manager, il pannello di gioco, la finestra e i listener per gli input.void
run()
Regola la frequenza degli aggiornamenti dello stato del gioco in base al valore target di UPS (aggiornamenti per secondo) definito inUPS_SET
.private void
Avvia il ciclo di gioco creando un nuovo thread e avviandolo.private void
update()
Aggiorna il modello del gioco invocando il metodoupdate()
sul model manager.
-
Field Details
-
UPS_SET
private final int UPS_SETIl numero di aggiornamenti per secondo (UPS).- See Also:
-
gamePanel
-
gameWindow
-
gameThread
-
modelManager
Il manager del modello che gestisce lo stato e i dati del gioco. -
mouseInputs
Il gestore degli input per gli eventi del mouse.
-
-
Constructor Details
-
GameController
public GameController()Costruttore della classe GameController. Inizializza i componenti chiave del gioco e avvia il ciclo del gioco. Non prende parametri e non restituisce alcun valore.
-
-
Method Details
-
initClasses
private void initClasses()Inizializza i componenti chiave del gioco come il model manager, il pannello di gioco, la finestra e i listener per gli input. Inoltre, registra il pannello di gioco come osservatore del model manager, assicurando che la vista venga aggiornata ogni volta che il modello cambia. Non prende parametri e non restituisce alcun valore. -
startGameLoop
private void startGameLoop()Avvia il ciclo di gioco creando un nuovo thread e avviandolo. Il ciclo di gioco aggiornerà lo stato del gioco a una frequenza fissa definita daUPS_SET
. Non prende parametri e non restituisce alcun valore. -
update
private void update()Aggiorna il modello del gioco invocando il metodoupdate()
sul model manager. Questo metodo viene chiamato continuamente dal ciclo di gioco. Non prende parametri e non restituisce alcun valore. -
run
public void run()Regola la frequenza degli aggiornamenti dello stato del gioco in base al valore target di UPS (aggiornamenti per secondo) definito inUPS_SET
. Il ciclo calcola il tempo trascorso tra ogni aggiornamento e chiama il metodoupdate()
quando necessario. Implementa l'interfacciaRunnable
e viene eseguito in un thread separato.
-