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 booleanprivate static PowerUpsManagerModel(package private) int[][]private intprivate PlayerModelprivate intprivate intprivate ArrayList<PowerUpModel> private Random -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateCostruttore privato della classePowerUpsManagerModel. -
Method Summary
Modifier and TypeMethodDescriptionprivate booleanControlla se una bomba può essere generata in base al numero di bolle di fuoco scoppiate dal giocatore.private booleanControlla se un powerup di tipo Potion Lightning può essere generato.private voidControlla le condizioni di spawning per i potenziamenti di tipo Candy.private voidControlla le condizioni di spawning per altri tipi di potenziamenti.private voidControlla le condizioni di spawning per tutti i tipi di potenziamenti.private voidControlla le condizioni di spawning per i potenziamenti di tipo Ring.private voidControlla le condizioni di spawning per i potenziamenti di tipo Umbrella.private int[]Genera coordinate casuali per il posizionamento di un power-up.booleanstatic PowerUpsManagerModelRestituisce l'istanza singleton della classePowerUpsManagerModel.private voidInizializza la lista dei powerup.voidsetBombExploding(boolean bombExploding) voidupdate()Aggiorna lo stato dei powerup e verifica le condizioni di spawning.private voidAggiorna 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()
-