Package model.objects.items.powerups
Class PowerUpsManagerModel
java.lang.Object
model.objects.items.powerups.PowerUpsManagerModel
Questa classe gestisce la creazione e l'aggiornamento dei powerup nel gioco.
Controlla le condizioni di spawning e fa applicare gli effetti dei powerup quando il giocatore li raccoglie.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
private static PowerUpsManagerModel
(package private) int[][]
private int
private PlayerModel
private int
private int
private ArrayList
<PowerUpModel> private Random
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
Costruttore privato della classePowerUpsManagerModel
. -
Method Summary
Modifier and TypeMethodDescriptionprivate boolean
Controlla se una bomba può essere generata in base al numero di bolle di fuoco scoppiate dal giocatore.private boolean
Controlla se un powerup di tipo Potion Lightning può essere generato.private void
Controlla le condizioni di spawning per i potenziamenti di tipo Candy.private void
Controlla le condizioni di spawning per altri tipi di potenziamenti.private void
Controlla le condizioni di spawning per tutti i tipi di potenziamenti.private void
Controlla le condizioni di spawning per i potenziamenti di tipo Ring.private void
Controlla le condizioni di spawning per i potenziamenti di tipo Umbrella.private int[]
Genera coordinate casuali per il posizionamento di un power-up.boolean
static PowerUpsManagerModel
Restituisce l'istanza singleton della classePowerUpsManagerModel
.private void
Inizializza la lista dei powerup.void
setBombExploding
(boolean bombExploding) void
update()
Aggiorna lo stato dei powerup e verifica le condizioni di spawning.private void
Aggiorna tutti i powerup attivi.
-
Field Details
-
instance
-
powerups
-
playerModel
-
potionLightningTick
private int potionLightningTick -
potionLightningTimer
private int potionLightningTimer -
numberOfPotions
private int numberOfPotions -
random
-
bombExploding
private boolean bombExploding -
lightningPotionSpawnPoints
int[][] lightningPotionSpawnPoints
-
-
Constructor Details
-
PowerUpsManagerModel
private PowerUpsManagerModel()Costruttore privato della classePowerUpsManagerModel
. Inizializza il modello del giocatore e la lista di potenziamenti, e crea un'istanza diRandom
.
-
-
Method Details
-
getInstance
Restituisce l'istanza singleton della classePowerUpsManagerModel
.- Returns:
- l'istanza singleton di
PowerUpsManagerModel
-
initPowerUps
private void initPowerUps()Inizializza la lista dei powerup. -
update
public void update()Aggiorna lo stato dei powerup e verifica le condizioni di spawning. -
updatePowerUps
private void updatePowerUps()Aggiorna tutti i powerup attivi. Verifica se il giocatore ha interagito con un oggetto di potenziamento e fa applicare gli effetti se necessario. -
checkPowerUpsSpawningConditions
private void checkPowerUpsSpawningConditions()Controlla le condizioni di spawning per tutti i tipi di potenziamenti. -
checkCandySpawningConditions
private void checkCandySpawningConditions()Controlla le condizioni di spawning per i potenziamenti di tipo Candy. -
checkUmbrellaSpawningConditions
private void checkUmbrellaSpawningConditions()Controlla le condizioni di spawning per i potenziamenti di tipo Umbrella. -
checkRingSpawningConditions
private void checkRingSpawningConditions()Controlla le condizioni di spawning per i potenziamenti di tipo Ring. -
checkOtherSpawningConditions
private void checkOtherSpawningConditions()Controlla le condizioni di spawning per altri tipi di potenziamenti. -
generateRandomCoordinates
private int[] generateRandomCoordinates()Genera coordinate casuali per il posizionamento di un power-up. Le coordinate vengono generate assicurandosi che il blocco (tile) non sia solido.- Returns:
- un array contenente le coordinate casuali x e y
-
canBombSpawn
private boolean canBombSpawn()Controlla se una bomba può essere generata in base al numero di bolle di fuoco scoppiate dal giocatore. Le bombe possono essere generate quando il numero di bolle di fuoco scoppiate è divisibile per 11, 14, 17 o 20.- Returns:
- true se una bomba può essere generata, false altrimenti
-
canPotionLightingSpawn
private boolean canPotionLightingSpawn()Controlla se un powerup di tipo Potion Lightning può essere generato. Un powerup di tipo Potion Lightning può essere generato solo se il livello attuale è l'ultimo del gioco e solo dopo un intervallo di tempo specificato.- Returns:
- true se un potenziamento di tipo Potion Lightning può essere generato, false altrimenti
-
getPowerups
-
setBombExploding
public void setBombExploding(boolean bombExploding) -
getBombExploding
public boolean getBombExploding()
-