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 booleanStati dell'attacco del giocatore.private booleanStati dell'attacco del giocatore.private intVariabili per i power-up.private BubbleManagerModelGestore delle bolle.private intprivate intprivate intDirezione in cui il giocatore sta affrontando.private booleanIndica se il gioco è finito.private static PlayerModelIstanza statica del modello del giocatore.private booleanIndica se il giocatore è invincibile.private intDurata dell'invincibilità.private intTick per la gestione dell'invincibilità.private booleanStati dei comandi del giocatore.private intprivate floatVelocità di salto.private booleanStati dei comandi del giocatore.private intNumero di vite del giocatore.private booleanIndica se il giocatore si sta muovendo.private intAzione attuale del giocatore.private floatVelocità del giocatore.private intVariabili per i power-up.private intVariabili per i power-up.private intVariabili per i power-up.private intVariabili per i power-up.private booleanStati dei comandi del giocatore.private booleanStati dei comandi del giocatore.private intprivate intPunti guadagnati per i salti.private booleanIndica 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
ConstructorsModifierConstructorDescriptionprivatePlayerModel(float x, float y, int width, int height) Costruttore privato per inizializzare il modello del giocatore. -
Method Summary
Modifier and TypeMethodDescriptionprivate booleancanJumpHere(float xSpeed) Controlla se il giocatore può saltare nella posizione attuale.private voidControlla se il giocatore sta attaccando e gestisce l'attacco.private voidControlla se il giocatore sta cavalcando una bolla.floatintintintintstatic PlayerModelRestituisce l'istanza singleton di PlayerModel.booleangetJump()intintgetLives()intintintintintintvoidintvoidvoidvoidbooleanisAttack()booleanbooleanbooleanisLeft()booleanbooleanisRight()booleanprivate voidjump()Esegue il salto del giocatore.voidMuove il giocatore alla posizione di spawn.voidGestisce la collisione del giocatore.voidsetAttack(boolean attack) voidsetAttackingClick(boolean attackingClick) voidsetBlowedBubbles(int blowedBubbles) voidsetEatenPinkCandies(int eatenPinkCandies) voidsetEatenYellowCandies(int eatenYellowCandies) voidsetGameOver(boolean gameOver) voidsetGravity(float value) voidsetInAir(boolean inAir) voidsetJump(boolean jump) voidsetJumpedTimes(int jumpedTimes) voidsetJumpSpeed(float value) voidsetLeft(boolean b) voidsetLives(int lives) private voidImposta l'azione attuale del giocatore in base ai comandi.voidsetPlayerAction(int playerAction) voidsetPlayerSpeed(float value) voidsetPoppedBubbles(int poppedBubbles) voidsetPoppedLightingBubbles(int poppedLightingBubbles) voidsetRight(boolean b) voidsetRunDistanceAmount(int runDistanceAmount) voidsetScoreForJump(int value) voidsetShootingLightningBubble(boolean shootingLightningBubble) voidupdate()Aggiorna lo stato del giocatore ad ogni frame.private voidAggiorna lo stato di invincibilità del giocatore.private voidAggiorna la posizione del giocatore in base ai comandi.voidupdateXPos(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:
updateXPosin interfaceFallable- Specified by:
updateXPosin 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)
-