Class JBPlayer

java.lang.Object
  |
  +--CellBasedGame.DynamicObject
        |
        +--JBombDynamic
              |
              +--JBPlayer

public class JBPlayer
extends JBombDynamic
implements KeybHandler

Classe che gestisce lo sprite del giocatore e le sue azioni

Author:
Marco Mastropaolo (marco.mastropaolo@libero.it / st971422@educ.di.unito.it)

Field Summary
private static int FRAMESKIP
          numero di frame da scartare per avere un'animazione del frame del giocatore gradevole
protected static int KEY_DOWN
          costante con le definizioni dei tasti
protected static int KEY_LEFT
          costante con le definizioni dei tasti
protected static int KEY_RIGHT
          costanti con le definizioni dei tasti
protected static int KEY_UP
          costante con le definizioni dei tasti
protected  boolean m_bBombWalk
          variabile che indica se il giocatore puņ camminare sulle bombe
protected  boolean m_bFireWalk
          variabile che indica se il giocatore puņ camminare sul fuoco
protected  boolean m_bKeyDown
          variabili booleana corrispondente allo stato del tasto della tastiera dell'azione corrispondente
protected  boolean m_bKeyLeft
          variabili booleana corrispondente allo stato del tasto della tastiera dell'azione corrispondente
protected  boolean m_bKeyRight
          variabili booleana corrispondente allo stato del tasto della tastiera dell'azione corrispondente
protected  boolean m_bKeyUp
          variabili booleana corrispondente allo stato del tasto della tastiera dell'azione corrispondente
protected  JBombGame m_jbGame
          variabile che contiene il gioco a cui appartiene il giocatore
private  int m_nFrameSkipCount
          numero di frame scartati
private  int m_nSpriteDrawn
          ultimo sprite del giocatore disegnato (0-3)
private static int SPRITESTEP
          (costante) differenza in pixel tra un'immagine e l'altra del giocatore nel file sprites.gif
 
Fields inherited from class CellBasedGame.DynamicObject
DIJKSTRAARRAY, DIJKSTRABORDER, DIJKSTRALIMIT, DIRECTION_DOWN, DIRECTION_LEFT, DIRECTION_NONE, DIRECTION_RIGHT, DIRECTION_UP, INFINITE, m_bAlive, m_bMustChangeDirection, m_cbGame, m_nDeltaX, m_nDeltaY, m_nLastCellX, m_nLastCellY, m_nLastDirection, m_nSpeed, m_nX, m_nY
 
Constructor Summary
JBPlayer(JBombGame Game, int nX, int nY)
          (costruttore) Crea un nuovo JBPlayer
 
Method Summary
 boolean canCrossBombs()
          restituisce true se č in grado di scavalcare le bombe
 boolean canCrossFire()
          restituisce true se in grado di scavalcare il fuoco
protected  int chooseDirection()
          Sceglie la direzione consultando lo stato della tastiera
 void die()
          Uccide il giocatore, passando il controllo al JBombGame
 void move()
           
 void paint(java.awt.Graphics gfx)
           
 void setBombWalk()
          rende il giocatore in grado di scavalcare le bombe
 void setFireWalk()
          rende il giocatore in grado di scavalcare il fuoco
 void updateKeyState(java.awt.event.KeyEvent e, boolean pressed)
          Aggiorna lo stato della tastiera
 
Methods inherited from class JBombDynamic
canAvoidFire, canCrossWalls, move
 
Methods inherited from class CellBasedGame.DynamicObject
applyDijkstra, chase, collide, deltasToDirection, getX, getY, isDirectionValid, oppositeDirection, random, rangeX, rangeY, setSpeed, stupid
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

KEY_UP

protected static final int KEY_UP
costante con le definizioni dei tasti

KEY_DOWN

protected static final int KEY_DOWN
costante con le definizioni dei tasti

KEY_LEFT

protected static final int KEY_LEFT
costante con le definizioni dei tasti

KEY_RIGHT

protected static final int KEY_RIGHT
costanti con le definizioni dei tasti

m_bKeyUp

protected boolean m_bKeyUp
variabili booleana corrispondente allo stato del tasto della tastiera dell'azione corrispondente

m_bKeyDown

protected boolean m_bKeyDown
variabili booleana corrispondente allo stato del tasto della tastiera dell'azione corrispondente

m_bKeyRight

protected boolean m_bKeyRight
variabili booleana corrispondente allo stato del tasto della tastiera dell'azione corrispondente

m_bKeyLeft

protected boolean m_bKeyLeft
variabili booleana corrispondente allo stato del tasto della tastiera dell'azione corrispondente

m_nSpriteDrawn

private int m_nSpriteDrawn
ultimo sprite del giocatore disegnato (0-3)

m_nFrameSkipCount

private int m_nFrameSkipCount
numero di frame scartati

FRAMESKIP

private static final int FRAMESKIP
numero di frame da scartare per avere un'animazione del frame del giocatore gradevole

SPRITESTEP

private static final int SPRITESTEP
(costante) differenza in pixel tra un'immagine e l'altra del giocatore nel file sprites.gif

m_jbGame

protected JBombGame m_jbGame
variabile che contiene il gioco a cui appartiene il giocatore

m_bFireWalk

protected boolean m_bFireWalk
variabile che indica se il giocatore puņ camminare sul fuoco

m_bBombWalk

protected boolean m_bBombWalk
variabile che indica se il giocatore puņ camminare sulle bombe
Constructor Detail

JBPlayer

public JBPlayer(JBombGame Game,
                int nX,
                int nY)
(costruttore) Crea un nuovo JBPlayer
Parameters:
Game - Il gioco JBombGame in cui l'oggetto č inserito
nX - La coordinata X di partenza [in pixel]
nY - La coordinata Y di partenza [in pixel]
Method Detail

chooseDirection

protected int chooseDirection()
Sceglie la direzione consultando lo stato della tastiera
Returns:
La direzione da prendere
Overrides:
chooseDirection in class DynamicObject

move

public void move()
Overrides:
move in class DynamicObject

updateKeyState

public void updateKeyState(java.awt.event.KeyEvent e,
                           boolean pressed)
Aggiorna lo stato della tastiera
Specified by:
updateKeyState in interface KeybHandler

paint

public void paint(java.awt.Graphics gfx)
Overrides:
paint in class DynamicObject

die

public void die()
Uccide il giocatore, passando il controllo al JBombGame
Overrides:
die in class DynamicObject

canCrossBombs

public boolean canCrossBombs()
restituisce true se č in grado di scavalcare le bombe
Overrides:
canCrossBombs in class JBombDynamic

canCrossFire

public boolean canCrossFire()
restituisce true se in grado di scavalcare il fuoco
Overrides:
canCrossFire in class JBombDynamic

setBombWalk

public void setBombWalk()
rende il giocatore in grado di scavalcare le bombe

setFireWalk

public void setFireWalk()
rende il giocatore in grado di scavalcare il fuoco