Package model.objects.bobbles
Class WaterModel
java.lang.Object
model.objects.CustomObjectModel
model.objects.bobbles.WaterModel
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate floatprivate intprivate booleanprivate booleanprivate float -
Constructor Summary
ConstructorsConstructorDescriptionWaterModel(float x, float y, int width, int height, int direction) Costruttore per creare un'istanza diWaterModel. -
Method Summary
Modifier and TypeMethodDescriptionprivate booleancanWaterMoveHere(float nextX) Verifica se l'acqua può muoversi alla nuova posizione orizzontale.voidvoidfallingChecks(float xSpeed) Gestisce la caduta dell'oggetto d'acqua, aggiornando la sua posizione verticale.intbooleanisInAir()voidControlla se l'oggetto d'acqua è in aria.booleanvoidResetta lo stato dell'oggetto d'acqua indicando che non è più in aria e "ferma" la sua velocità verticale.voidsetSpecificTrappedPlayer(boolean trappedPlayer) toString()Restituisce una rappresentazione testuale dell'acqua.voidupdate()Aggiorna la posizione dell'oggetto d'acqua.private voidAggiorna la posizione dell'oggetto d'acqua in base al fatto che sia in aria o meno.voidupdateXPos(float xSpeed) Aggiorna la posizione orizzontale dell'acqua.
-
Field Details
-
inAir
private boolean inAir -
airSpeed
private float airSpeed -
waterSpeed
private float waterSpeed -
direction
private int direction -
specificTrappedPlayer
private boolean specificTrappedPlayer
-
-
Constructor Details
-
WaterModel
public WaterModel(float x, float y, int width, int height, int direction) Costruttore per creare un'istanza diWaterModel.- Parameters:
x- la coordinata x inizialey- la coordinata y inizialewidth- la larghezza dell'oggettoheight- l'altezza dell'oggettodirection- la direzione in cui l'acqua si muove (LEFT o RIGHT)
-
-
Method Details
-
update
public void update()Aggiorna la posizione dell'oggetto d'acqua.- Specified by:
updatein classCustomObjectModel
-
updatePos
private void updatePos()Aggiorna la posizione dell'oggetto d'acqua in base al fatto che sia in aria o meno. -
isInAirCheck
public void isInAirCheck()Controlla se l'oggetto d'acqua è in aria. Se non è in aria e non è sul pavimento, viene reimpostato in aria.- Specified by:
isInAirCheckin interfaceFallable
-
fallingChecks
public void fallingChecks(float xSpeed) Gestisce la caduta dell'oggetto d'acqua, aggiornando la sua posizione verticale. Se l'acqua raggiunge il pavimento, viene riposizionata sopra di esso.- Specified by:
fallingChecksin interfaceFallable- Parameters:
xSpeed- la velocità orizzontale dell'acqua
-
checkOutOfMap
public void checkOutOfMap()- Specified by:
checkOutOfMapin interfaceFallable
-
resetInAir
public void resetInAir()Resetta lo stato dell'oggetto d'acqua indicando che non è più in aria e "ferma" la sua velocità verticale.- Specified by:
resetInAirin interfaceFallable
-
updateXPos
public void updateXPos(float xSpeed) Aggiorna la posizione orizzontale dell'acqua. Cambia direzione se l'acqua non può muoversi ulteriormente nella direzione attuale.- Specified by:
updateXPosin interfaceFallable- Parameters:
xSpeed- la velocità orizzontale dell'acqua
-
canWaterMoveHere
private boolean canWaterMoveHere(float nextX) Verifica se l'acqua può muoversi alla nuova posizione orizzontale.- Parameters:
nextX- la coordinata x successiva- Returns:
- true se l'acqua può muoversi, false altrimenti
-
toString
-
isInAir
public boolean isInAir() -
getDirection
public int getDirection() -
isSpecificTrappedPlayer
public boolean isSpecificTrappedPlayer() -
setSpecificTrappedPlayer
public void setSpecificTrappedPlayer(boolean trappedPlayer)
-