pl.tph.javatacka.game
Class Player

java.lang.Object
  extended by pl.tph.javatacka.game.Player
All Implemented Interfaces:
java.lang.Comparable<java.lang.Object>

public class Player
extends java.lang.Object
implements java.lang.Comparable<java.lang.Object>

Obiekty klasy Player przechowują w sobie wszelkie potrzebne informacje o graczu. Po za takimi rzeczami jak nazwa graczy czy aktualna liczba punktów znajdują się tu także różne obiekty bezpośrednio biorące udział w rozgrywce lub wpływające na nią.

Dodatkowo klasa Player implementuje interfejs Comparable dzięki obiekty tej klasy mogą być łatwo sortowane i porównywane.

Author:
Tomasz Pieczerak (tph)

Field Summary
private  boolean alive
          Flaga mówiąca o tym czy gracz jest aktualnie "żywy", czyli czy w danej rundzie już przegrał czy nie.
private  Curve curve
          Obiekt krzywej gracza.
private  java.lang.String keyString
          Napis reprezentujący mnemoniczny odpowiednik klawiszy sterowania gracza.
private  VirtualKey leftKey
          Obiekt akcji gry związanej z wciśnięciem przez gracza lewego klawisza sterowania.
private  java.lang.String name
          Nazwa gracza.
private  VirtualKey rightKey
          Obiekt akcji gry związanej z wciśnięciem przez gracza prawego klawisza sterowania.
private  Score score
          Obiekt tabelki z wynikami gracza.
private  int scoreValue
          Aktualna liczba punktów zdobytych przez gracza w danej rozgrywce.
 
Constructor Summary
Player(java.lang.String name, java.awt.Color color, int leftKeyCode, int rightKeyCode, InputManager input)
          Konstruuje nowy obiekt klasy Player na podstawie podanych argumentów.
 
Method Summary
 int compareTo(java.lang.Object o)
          Metoda implementująca odziedziczoną metodę z interfejsu Comparable.
 Curve getCurve()
          Zwraca referencję na krzywą gracza.
 java.lang.String getKeyString()
          Zwraca mnemoniczny odpowiednik klawiszy sterowania gracza.
 java.lang.String getName()
          Zwraca nazwę gracza.
 Score getScore()
          Zwraca referencję na obiekt tabelki z wynikami gracza.
 int getScoreValue()
          Zwraca aktualną liczbę punktów zdobytych przez gracza.
 void incrementScoreValue()
          Inkrementuje o jedne liczbę punktów zdobytych przez gracza.
 boolean isAlive()
          Zwraca flaga mówiąca o tym czy gracz jest aktualnie "żywy" czy nie.
 void resetKeys()
          Wymusza zwolnienie obu klawiszy sterowania gracza.
 void setAlive(boolean alive)
          Ustawia wartość flagi mówiącej o tym, czy gracz żyje czy jest martwy.
 void update(long elapsedTime)
          Uaktualnia obiekt gracza, a dokładniej obiekt krzywej na podstawie minionego czasu.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

name

private java.lang.String name
Nazwa gracza.


curve

private Curve curve
Obiekt krzywej gracza.

See Also:
Curve

score

private Score score
Obiekt tabelki z wynikami gracza.

See Also:
Score

scoreValue

private int scoreValue
Aktualna liczba punktów zdobytych przez gracza w danej rozgrywce.


alive

private boolean alive
Flaga mówiąca o tym czy gracz jest aktualnie "żywy", czyli czy w danej rundzie już przegrał czy nie.


leftKey

private VirtualKey leftKey
Obiekt akcji gry związanej z wciśnięciem przez gracza lewego klawisza sterowania. Jego wciśnięcie powoduje zmianę kierunku ruchu krzywej przeciwnie do ruchu wskazówek zegara.


rightKey

private VirtualKey rightKey
Obiekt akcji gry związanej z wciśnięciem przez gracza prawego klawisza sterowania. Jego wciśnięcie powoduje zmianę kierunku ruchu krzywej zgodnie z ruchem wskazówek zegara.


keyString

private java.lang.String keyString
Napis reprezentujący mnemoniczny odpowiednik klawiszy sterowania gracza. Jest on wyświetlany na ekranie w obiekcie Score w celach informacyjnych - żeby gracz nie zapomniał, którymi klawiszami steruje.

See Also:
Score
Constructor Detail

Player

public Player(java.lang.String name,
              java.awt.Color color,
              int leftKeyCode,
              int rightKeyCode,
              InputManager input)
Konstruuje nowy obiekt klasy Player na podstawie podanych argumentów. Jednocześnie zostaną utworzone obiekty Curve i Score związane z tym graczem.

Parameters:
name - nazwa gracza
color - kolor krzywej gracza
leftKeyCode - kod lewego klawisza sterowania
rightKeyCode - kod prawego klawisza sterowania
input - obiekt InputManager obsługujący zdarzenia wciśnięcia klawiszy sterujących przez gracza
See Also:
Color, KeyEvent, Score, Curve
Method Detail

update

public void update(long elapsedTime)
Uaktualnia obiekt gracza, a dokładniej obiekt krzywej na podstawie minionego czasu. Modyfikowany jest kierunek poruszania, który mógł ulec zmianie w skutek wciśnięcia klawiszy. Następnie uaktualniany jest sam obiekt Curve.

Parameters:
elapsedTime - miniony czas
See Also:
Curve

compareTo

public int compareTo(java.lang.Object o)
Metoda implementująca odziedziczoną metodę z interfejsu Comparable. Gracze są porównywani według liczby zdobytych punktów (im więcej punktów tym większy) obiekt. Jeśli dwaj gracze mają po tyle samo punktów, to większy będzie ten, który jest aktualnie "żywy". Jeśli obaj żyją, to są sobie równi w sensie tego porządku.

Specified by:
compareTo in interface java.lang.Comparable<java.lang.Object>

resetKeys

public void resetKeys()
Wymusza zwolnienie obu klawiszy sterowania gracza.

See Also:
VirtualKey

getName

public java.lang.String getName()
Zwraca nazwę gracza.


getCurve

public Curve getCurve()
Zwraca referencję na krzywą gracza.


getScore

public Score getScore()
Zwraca referencję na obiekt tabelki z wynikami gracza.


getKeyString

public java.lang.String getKeyString()
Zwraca mnemoniczny odpowiednik klawiszy sterowania gracza.


setAlive

public void setAlive(boolean alive)
Ustawia wartość flagi mówiącej o tym, czy gracz żyje czy jest martwy.

Parameters:
alive - nowa wartość flagi

isAlive

public boolean isAlive()
Zwraca flaga mówiąca o tym czy gracz jest aktualnie "żywy" czy nie.


getScoreValue

public int getScoreValue()
Zwraca aktualną liczbę punktów zdobytych przez gracza.


incrementScoreValue

public void incrementScoreValue()
Inkrementuje o jedne liczbę punktów zdobytych przez gracza.