Package model.entities
Class PlayerModel
java.lang.Object
model.entities.EntityModel
model.entities.PlayerModel
- All Implemented Interfaces:
Fallable
Classe che rappresenta il modello del giocatore nel gioco.
Estende la classe
EntityModel
e gestisce le azioni e le interazioni del giocatore.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
Stati dell'attacco del giocatore.private boolean
Stati dell'attacco del giocatore.private int
Variabili per i power-up.private BubbleManagerModel
Gestore delle bolle.private int
private int
private int
Direzione in cui il giocatore sta affrontando.private boolean
Indica se il gioco è finito.private static PlayerModel
Istanza statica del modello del giocatore.private boolean
Indica se il giocatore è invincibile.private int
Durata dell'invincibilità.private int
Tick per la gestione dell'invincibilità.private boolean
Stati dei comandi del giocatore.private int
private float
Velocità di salto.private boolean
Stati dei comandi del giocatore.private int
Numero di vite del giocatore.private boolean
Indica se il giocatore si sta muovendo.private int
Azione attuale del giocatore.private float
Velocità del giocatore.private int
Variabili per i power-up.private int
Variabili per i power-up.private int
Variabili per i power-up.private int
Variabili per i power-up.private boolean
Stati dei comandi del giocatore.private boolean
Stati dei comandi del giocatore.private int
private int
Punti guadagnati per i salti.private boolean
Indica se il giocatore sta sparando una bolla di fulmine.Fields inherited from class model.entities.EntityModel
airSpeed, fallingSpeed, fallSpeedAfterCollision, gravity, height, hitbox, inAir, width, x, y
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
PlayerModel
(float x, float y, int width, int height) Costruttore privato per inizializzare il modello del giocatore. -
Method Summary
Modifier and TypeMethodDescriptionprivate boolean
canJumpHere
(float xSpeed) Controlla se il giocatore può saltare nella posizione attuale.private void
Controlla se il giocatore sta attaccando e gestisce l'attacco.private void
Controlla se il giocatore sta cavalcando una bolla.float
int
int
int
int
static PlayerModel
Restituisce l'istanza singleton di PlayerModel.boolean
getJump()
int
int
getLives()
int
int
int
int
int
int
void
int
void
void
void
boolean
isAttack()
boolean
boolean
boolean
isLeft()
boolean
boolean
isRight()
boolean
private void
jump()
Esegue il salto del giocatore.void
Muove il giocatore alla posizione di spawn.void
Gestisce la collisione del giocatore.void
setAttack
(boolean attack) void
setAttackingClick
(boolean attackingClick) void
setBlowedBubbles
(int blowedBubbles) void
setEatenPinkCandies
(int eatenPinkCandies) void
setEatenYellowCandies
(int eatenYellowCandies) void
setGameOver
(boolean gameOver) void
setGravity
(float value) void
setInAir
(boolean inAir) void
setJump
(boolean jump) void
setJumpedTimes
(int jumpedTimes) void
setJumpSpeed
(float value) void
setLeft
(boolean b) void
setLives
(int lives) private void
Imposta l'azione attuale del giocatore in base ai comandi.void
setPlayerAction
(int playerAction) void
setPlayerSpeed
(float value) void
setPoppedBubbles
(int poppedBubbles) void
setPoppedLightingBubbles
(int poppedLightingBubbles) void
setRight
(boolean b) void
setRunDistanceAmount
(int runDistanceAmount) void
setScoreForJump
(int value) void
setShootingLightningBubble
(boolean shootingLightningBubble) void
update()
Aggiorna lo stato del giocatore ad ogni frame.private void
Aggiorna lo stato di invincibilità del giocatore.private void
Aggiorna la posizione del giocatore in base ai comandi.void
updateXPos
(float xSpeed) Aggiorna la posizione orizzontale del giocatore.Methods inherited from class model.entities.EntityModel
checkOutOfMap, fallingChecks, getHeight, getHitbox, getLevelManager, getWidth, getX, getY, initHitbox, isInAir, isInAirCheck, resetInAir, setFallingSpeed
-
Field Details
-
instance
Istanza statica del modello del giocatore. -
playerAction
private int playerActionAzione attuale del giocatore. Rappresenta lo stato di animazione attuale del giocatore. -
left
private boolean leftStati dei comandi del giocatore. Indica se il giocatore sta premendo i tasti per andare a sinistra, a destra, saltare o resettare il tick dell'animazione. -
right
private boolean rightStati dei comandi del giocatore. Indica se il giocatore sta premendo i tasti per andare a sinistra, a destra, saltare o resettare il tick dell'animazione. -
jump
private boolean jumpStati dei comandi del giocatore. Indica se il giocatore sta premendo i tasti per andare a sinistra, a destra, saltare o resettare il tick dell'animazione. -
resetAniTick
private boolean resetAniTickStati dei comandi del giocatore. Indica se il giocatore sta premendo i tasti per andare a sinistra, a destra, saltare o resettare il tick dell'animazione. -
moving
private boolean movingIndica se il giocatore si sta muovendo. -
playerSpeed
private float playerSpeedVelocità del giocatore. Rappresenta la velocità di movimento del giocatore, scalata per la dimensione del gioco. -
jumpSpeed
private float jumpSpeedVelocità di salto. Rappresenta la velocità con cui il giocatore salta, scalata per la dimensione del gioco. -
lives
private int livesNumero di vite del giocatore. Indica quante vite ha il giocatore attualmente. -
gameOver
private boolean gameOverIndica se il gioco è finito. Segnala che il giocatore ha perso tutte le vite. -
attack
private boolean attackStati dell'attacco del giocatore. Indica se il giocatore sta attaccando e se ha effettuato un clic per attaccare. -
attackingClick
private boolean attackingClickStati dell'attacco del giocatore. Indica se il giocatore sta attaccando e se ha effettuato un clic per attaccare. -
facing
private int facingDirezione in cui il giocatore sta affrontando. Rappresenta la direzione attuale del giocatore (sinistra o destra). -
invincible
private boolean invincibleIndica se il giocatore è invincibile. Il giocatore non può subire danni quando è in stato di invincibilità. -
invincibleDuration
private int invincibleDurationDurata dell'invincibilità. Indica per quanto tempo il giocatore rimane invincibile dopo essere stato colpito. -
invincibleTick
private int invincibleTickTick per la gestione dell'invincibilità. Contatore utilizzato per monitorare la durata dell'invincibilità. -
blowedBubbles
private int blowedBubblesVariabili per i power-up. Contatori per vari eventi, come bolle soffiate, bolle esplose, e oggetti raccolti. -
poppedBubbles
private int poppedBubblesVariabili per i power-up. Contatori per vari eventi, come bolle soffiate, bolle esplose, e oggetti raccolti. -
poppedLightingBubbles
private int poppedLightingBubblesVariabili per i power-up. Contatori per vari eventi, come bolle soffiate, bolle esplose, e oggetti raccolti. -
poppedFireBubbles
private int poppedFireBubblesVariabili per i power-up. Contatori per vari eventi, come bolle soffiate, bolle esplose, e oggetti raccolti. -
poppedWaterBubbles
private int poppedWaterBubblesVariabili per i power-up. Contatori per vari eventi, come bolle soffiate, bolle esplose, e oggetti raccolti. -
jumpedTimes
private int jumpedTimes -
eatenPinkCandies
private int eatenPinkCandies -
eatenYellowCandies
private int eatenYellowCandies -
runDistanceAmount
private int runDistanceAmount -
scoreForJump
private int scoreForJumpPunti guadagnati per i salti. Rappresenta il punteggio guadagnato dal giocatore per ogni salto effettuato. -
shootingLightningBubble
private boolean shootingLightningBubbleIndica se il giocatore sta sparando una bolla di fulmine. -
bubbleManagerModel
Gestore delle bolle. Rappresenta l'istanza del gestore delle bolle, responsabile della gestione delle bolle nel gioco.
-
-
Constructor Details
-
PlayerModel
private PlayerModel(float x, float y, int width, int height) Costruttore privato per inizializzare il modello del giocatore.- Parameters:
x
- La coordinata X iniziale del giocatore.y
- La coordinata Y iniziale del giocatore.width
- Larghezza della hitbox del giocatore.height
- Altezza della hitbox del giocatore.
-
-
Method Details
-
getInstance
Restituisce l'istanza singleton di PlayerModel.- Returns:
- L'istanza di PlayerModel.
-
moveToSpawn
public void moveToSpawn()Muove il giocatore alla posizione di spawn. -
playerHasBeenHit
public void playerHasBeenHit()Gestisce la collisione del giocatore. Riduce le vite e riposiziona il giocatore allo spawn se colpito. -
checkAttack
private void checkAttack()Controlla se il giocatore sta attaccando e gestisce l'attacco. -
update
public void update()Aggiorna lo stato del giocatore ad ogni frame. -
updateInvincibleStatus
private void updateInvincibleStatus()Aggiorna lo stato di invincibilità del giocatore. -
setPlayerAction
private void setPlayerAction()Imposta l'azione attuale del giocatore in base ai comandi. -
updatePos
private void updatePos()Aggiorna la posizione del giocatore in base ai comandi. -
checkRidingABubble
private void checkRidingABubble()Controlla se il giocatore sta cavalcando una bolla. -
updateXPos
public void updateXPos(float xSpeed) Aggiorna la posizione orizzontale del giocatore.- Specified by:
updateXPos
in interfaceFallable
- Specified by:
updateXPos
in classEntityModel
- Parameters:
xSpeed
- La velocità orizzontale da applicare.
-
canJumpHere
private boolean canJumpHere(float xSpeed) Controlla se il giocatore può saltare nella posizione attuale.- Parameters:
xSpeed
- La velocità orizzontale da considerare.- Returns:
- True se il giocatore può saltare, false altrimenti.
-
jump
private void jump()Esegue il salto del giocatore. -
getPlayerAction
public int getPlayerAction() -
setRight
public void setRight(boolean b) -
setLeft
public void setLeft(boolean b) -
isLeft
public boolean isLeft() -
isRight
public boolean isRight() -
isResetAniTick
public boolean isResetAniTick() -
setJump
public void setJump(boolean jump) -
setPlayerAction
public void setPlayerAction(int playerAction) -
getLives
public int getLives() -
isGameOver
public boolean isGameOver() -
setAttack
public void setAttack(boolean attack) -
isAttack
public boolean isAttack() -
setAttackingClick
public void setAttackingClick(boolean attackingClick) -
isInvincible
public boolean isInvincible() -
getAirSpeed
public float getAirSpeed() -
setLives
public void setLives(int lives) -
setGameOver
public void setGameOver(boolean gameOver) -
getJump
public boolean getJump() -
getJumpedTimes
public int getJumpedTimes() -
setScoreForJump
public void setScoreForJump(int value) -
getPoppedWaterBubbles
public int getPoppedWaterBubbles() -
getBlowedBubbles
public int getBlowedBubbles() -
setBlowedBubbles
public void setBlowedBubbles(int blowedBubbles) -
getPoppedBubbles
public int getPoppedBubbles() -
setPoppedBubbles
public void setPoppedBubbles(int poppedBubbles) -
incrementPoppedBubbles
public int incrementPoppedBubbles() -
getPoppedLightingBubbles
public int getPoppedLightingBubbles() -
incrementPoppedLightingBubbles
public void incrementPoppedLightingBubbles() -
getPoppedFireBubbles
public int getPoppedFireBubbles() -
incrementPoppedFireBubbles
public void incrementPoppedFireBubbles() -
incrementPoppedWaterBubbles
public void incrementPoppedWaterBubbles() -
setJumpedTimes
public void setJumpedTimes(int jumpedTimes) -
getEatenPinkCandies
public int getEatenPinkCandies() -
setEatenPinkCandies
public void setEatenPinkCandies(int eatenPinkCandies) -
getEatenYellowCandies
public int getEatenYellowCandies() -
setEatenYellowCandies
public void setEatenYellowCandies(int eatenYellowCandies) -
getRunDistanceAmount
public int getRunDistanceAmount() -
setRunDistanceAmount
public void setRunDistanceAmount(int runDistanceAmount) -
setPlayerSpeed
public void setPlayerSpeed(float value) -
setJumpSpeed
public void setJumpSpeed(float value) -
setGravity
public void setGravity(float value) -
setPoppedLightingBubbles
public void setPoppedLightingBubbles(int poppedLightingBubbles) -
incrementLives
public void incrementLives() -
getFacing
public int getFacing() -
isShootingLightningBubble
public boolean isShootingLightningBubble() -
setShootingLightningBubble
public void setShootingLightningBubble(boolean shootingLightningBubble) -
getPlayerSpawn
-
setInAir
public void setInAir(boolean inAir)
-