Package model.objects.bobbles
Class WaterModel
java.lang.Object
model.objects.CustomObjectModel
model.objects.bobbles.WaterModel
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate float
private int
private boolean
private boolean
private 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 boolean
canWaterMoveHere
(float nextX) Verifica se l'acqua può muoversi alla nuova posizione orizzontale.void
void
fallingChecks
(float xSpeed) Gestisce la caduta dell'oggetto d'acqua, aggiornando la sua posizione verticale.int
boolean
isInAir()
void
Controlla se l'oggetto d'acqua è in aria.boolean
void
Resetta lo stato dell'oggetto d'acqua indicando che non è più in aria e "ferma" la sua velocità verticale.void
setSpecificTrappedPlayer
(boolean trappedPlayer) toString()
Restituisce una rappresentazione testuale dell'acqua.void
update()
Aggiorna la posizione dell'oggetto d'acqua.private void
Aggiorna la posizione dell'oggetto d'acqua in base al fatto che sia in aria o meno.void
updateXPos
(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:
update
in 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:
isInAirCheck
in 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:
fallingChecks
in interfaceFallable
- Parameters:
xSpeed
- la velocità orizzontale dell'acqua
-
checkOutOfMap
public void checkOutOfMap()- Specified by:
checkOutOfMap
in 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:
resetInAir
in 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:
updateXPos
in 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)
-