pl.tph.javatacka.game.sprites
Class Score

java.lang.Object
  extended by pl.tph.javatacka.graphics.Sprite
      extended by pl.tph.javatacka.game.sprites.Score

public class Score
extends Sprite

Obiekty klasy Score odzwierciedlają tabelki graczy pokazujące aktualną liczbę punktów zdobytych przez danego gracza w bieżącej rozgrywce.

Klasa Score jest podklasą abstrakcyjnej klasy Sprite.

Najważniejszą dodaną funkcjonalnością są dwie metody: setGotoPositionX(int) oraz setGotoPositionY(int), które ułatwiają sterowanie poruszaniem się tych obiektów po ekranie. Wywołując je z odpowiednimi parametrami ustawiamy pozycję - kolejno jej składową poziomą lub pionową - do której obiekt Score będzie dążył w swoim ruchu na ekranie. Jest to zrealizowane przez automatyczną modyfikuję wektor prędkości tak, aby po pewnym czasie obiekt zatrzymał się na owej ustalonej pozycji. Został tu zastosowany prosty regulator typu P o dużym wzmocnieniu, co dzięki dyskretności położenia na ekranie daje szybkie i płynne osiągnięcie zadanej pozycji przy zerowym przeregulowaniu oraz zerowym uchybie statycznym.

Author:
Tomasz Pieczerak (tph)
See Also:
Sprite, regulator typu P

Field Summary
private  int goToPositionX
          Pozioma składowa położenia na ekranie, do którego dąży obiekt Score (w pikselach).
private  int goToPositionY
          Pionowa składowa położenia na ekranie, do którego dąży obiekt Score (w pikselach).
private  Player player
          Referencja na obiekt gracza, z którym związany jest Score.
static int[] playerPosition
          Tabela playerPosition[] zawiera pionowe składowe położenia dla sześciu pozycji graczy, które zapewniają dobry rozkład tabelek Score na ekranie.
 
Fields inherited from class pl.tph.javatacka.graphics.Sprite
dx, dy, height, width, x, y
 
Constructor Summary
Score(Player player)
          Tworzy nowy obiekt Score inicjując jego składowe położenia, wektora prędkości i położenia, do którego on dąży wartościami zerowymi.
 
Method Summary
 void draw(java.awt.Graphics2D g2)
          Rysuje obiekt Score na komponencie związanym z podanym obiektem Graphics2D.
 void setGotoPositionX(int goToPositionX)
          Ustawia pozioma składową położenia, do którego w swoim ruchu obiekt Score będzie dążył.
 void setGotoPositionY(int goToPositionY)
          Ustawia pionowa składową położenia, do którego w swoim ruchu obiekt Score będzie dążył.
 void setXY(double x, double y)
          Przenosi obiekt Score w podane miejsce na ekranie.
 void update(long elapsedTime)
          Aktualizuje pozycję obiektu Score na ekranie w oparciu po podany jako argument miniony czas.
 
Methods inherited from class pl.tph.javatacka.graphics.Sprite
getHeight, getVelocityX, getVelocityY, getWidth, getX, getY, setHeight, setVelocityX, setVelocityY, setWidth, setX, setY
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

playerPosition

public static final int[] playerPosition
Tabela playerPosition[] zawiera pionowe składowe położenia dla sześciu pozycji graczy, które zapewniają dobry rozkład tabelek Score na ekranie. Należy jest stosować jako wartości bazowe, do którym można dodać własne przesunięcie, aby ustawić zestawienie tabelek z wynikami w wybranym miejscu na ekranie.


player

private Player player
Referencja na obiekt gracza, z którym związany jest Score.

See Also:
Player

goToPositionX

private int goToPositionX
Pozioma składowa położenia na ekranie, do którego dąży obiekt Score (w pikselach).


goToPositionY

private int goToPositionY
Pionowa składowa położenia na ekranie, do którego dąży obiekt Score (w pikselach).

Constructor Detail

Score

public Score(Player player)
Tworzy nowy obiekt Score inicjując jego składowe położenia, wektora prędkości i położenia, do którego on dąży wartościami zerowymi. Utworzony obiekt jest wiązany z podanym obiektem Player, z którego będzie pobierał nazwę, liczbę punktów oraz kolor krzywej gracza (obiekt klasy Curve).

Parameters:
player - gracz, z którym ma być związany obiekt Score
See Also:
Player, Curve
Method Detail

update

public void update(long elapsedTime)
Aktualizuje pozycję obiektu Score na ekranie w oparciu po podany jako argument miniony czas. Wektor prędkości jest ustalany tak, aby obiekt poruszał się na ekranie w kierunku zadanej pozycji, aż do zatrzymania na niej.

Overrides:
update in class Sprite
Parameters:
elapsedTime - czas w milisekundach

draw

public void draw(java.awt.Graphics2D g2)
Rysuje obiekt Score na komponencie związanym z podanym obiektem Graphics2D.

Parameters:
g2 - kontekst graficzny związany z komponentem, na którym Score ma zostać narysowany.
See Also:
Graphics2D

setXY

public void setXY(double x,
                  double y)
Przenosi obiekt Score w podane miejsce na ekranie. Pozycja, do której on dąży również zostaje ustawiona na ten punkt.

Parameters:
x - pozioma współrzędna miejsca na ekranie
y - pionowa współrzędna miejsca na ekranie

setGotoPositionX

public void setGotoPositionX(int goToPositionX)
Ustawia pozioma składową położenia, do którego w swoim ruchu obiekt Score będzie dążył.

Parameters:
goToPositionX - pozioma składowa położenia

setGotoPositionY

public void setGotoPositionY(int goToPositionY)
Ustawia pionowa składową położenia, do którego w swoim ruchu obiekt Score będzie dążył.

Parameters:
goToPositionY - pionowa składowa położenia