public class Gravitator extends PhysikClient
ziel
Constructor and Description |
---|
Gravitator(Raum ziel)
Konstruktor.
|
Modifier and Type | Method and Description |
---|---|
void |
aufloesen()
Diese Methode wird immer dann aufgerufen, wenn ein Client nicht weiter benoetigt wird, und er
alle seine Funktionen beenden soll, um die von ihm belegten Ressourcen freizugeben.
|
void |
beeinflussbarSetzen(boolean beeinflussbar)
Setzt, ob das Objekt ab sofort beeinflussbar sein soll.
|
boolean |
bewegen(Vektor v)
Bewegt das Raum-Objekt mithilfe des Gravitators.
|
void |
einfluesseZuruecksetzen()
Setzt alle Einfluesse auf das Client-Objekt zurück.
|
void |
fallReagierbarAnmelden(FallReagierbar f,
int tiefe)
In dieser Methode wird der
FallReagierbar -Listener angemeldet.Dieser wird ab sofort immer wieder informiert, solange das Ziel- Raum -Objekt unterhalb
der Toleranzgrenze liegt. |
void |
geschwindigkeitHinzunehmen(Vektor geschwindigkeit)
Addiert eine Geschwindigkeit v' zur aktuellen Geschwindigkeit v.
|
void |
geschwindigkeitSetzen(Vektor geschwindigkeit)
Setzt hart die Geschwindigkeit des Client-Objekts.
|
Vektor |
getForce() |
float |
getLuftwiderstandskoeffizient() |
float |
getMasse() |
void |
impulsHinzunehmen(Vektor impuls)
Berechnet einen neuen Impuls auf das Client-Objekt.
|
boolean |
istBeeinflussbar() |
void |
kraftAnwenden(Vektor kraft,
float t_kraftuebertrag)
Wendet eine Kraft für einen bestimmten Zeitraum auf das Client-Objekt an.
|
void |
kraftSetzen(Vektor kraft)
Setzt hart die konstante Kraft, die auf das Client-Objekt wirkt.
|
void |
kritischeTiefeSetzen(int tiefe)
Diese Methode setzt die kritische Tiefe eines Aktiv-Objektes.
|
void |
luftwiderstandskoeffizientSetzen(float luftwiderstandskoeffizient)
Setzt den Luftwiderstandskoeffizienten für das Client-Objekt.
|
void |
masseSetzen(float masse)
Setzt die Masse des Clien-Objekts neu.
|
void |
schwerkraftAktivSetzen(boolean aktiv)
Setzt, ob das Ziel-Objekt von der Schwerkraft beeinflusst wird und somit fallen, aber auch
springen kann.
|
void |
schwerkraftSetzen(int schwerkraft)
Setzt die Schwerkraft fuer dieses Objekt.
Achtung: Standardwert: 4 Groesserer Wert = langsamer Fallen Kleinerer Wert = schneller Fallen Negativer Wert : Moege Gott uns allen gnaedig sein... |
boolean |
sprung(int kraft)
Laesst das anliegende Raum-Objekt springen.
|
void |
stehReagierbarAnmelden(StehReagierbar s)
In dieser Methode wird der
StehReagierbar -Listener angemeldet.Dieser wird ab sofort immer dann einmalig informiert, wenn das Ziel- Raum -Objekt nach
einem Sprung/Fall wieder auf einem Passiv-Objekt steht. |
boolean |
steht()
Testet, ob das hieran anliegende Ziel-Objekt steht.
|
void |
tick(int runde)
Methode zur Weitergabe eines Rechenschrittes
|
boolean |
xVersch(float dX)
Vollfuehrt portionsweises (in Pixelschritten) Verschieben auf der X-Richtung.
|
boolean |
yVersch(float dY)
Vollfuehrt portionsweises (in Pixelschritten) Verschieben auf der Y-Richtung unter
beruecksichtung von SChwerkrafteigenschaften.
|
ziel
public Gravitator(Raum ziel)
ziel
- Ziel des Gravitators: Dieses Objekt wird von ihm überwachtpublic void tick(int runde)
runde
- Die Runde (1 - 10)public boolean bewegen(Vektor v)
bewegen
in class PhysikClient
v
- Die Bewegung beschrieben durch einen Vektor.true
, sollte die Bewegung vollfuehrt worden sein, ohne, dass man passiv
geblockt wurde. Wurde man in der vollen Ausfuehrung der Bewegung gehindert, ist die Rueckgabe
false
.public void aufloesen()
aufloesen
in class PhysikClient
public boolean sprung(int kraft)
sprung
in class PhysikClient
kraft
- Die Sprungkraft.true
, wenn erfolgreich gesprungen wurde. In allen anderen Faellen
false
.public void schwerkraftAktivSetzen(boolean aktiv)
schwerkraftAktivSetzen
in class PhysikClient
aktiv
- Ist dieser Wert true
, so wird das Ziel-Objekt von Schwerkraft beeinflusst. Ist
er false
, dann nicht.public void kritischeTiefeSetzen(int tiefe)
FallReagierbar
-Inteface, das angemeldet wurde, ueber den
Fall informiert.kritischeTiefeSetzen
in class PhysikClient
tiefe
- Die Tiefe, ab der das anliegende FallReagierbar
-Interface informiert werden
soll. Als Y-Koordinate.fallReagierbarAnmelden(FallReagierbar, int)
public void fallReagierbarAnmelden(FallReagierbar f, int tiefe)
FallReagierbar
-Listener angemeldet.Raum
-Objekt unterhalb
der Toleranzgrenze liegt.fallReagierbarAnmelden
in class PhysikClient
f
- Das FallReagierbar
-Objekt, das ab sofort im Grenzfall informiert wird.tiefe
- Die kritische Tiefe, ab der das Interface informiert wird.kritischeTiefeSetzen(int tiefe)
public void stehReagierbarAnmelden(StehReagierbar s)
StehReagierbar
-Listener angemeldet.Raum
-Objekt nach
einem Sprung/Fall wieder auf einem Passiv-Objekt steht.stehReagierbarAnmelden
in class PhysikClient
s
- Das StehReagierbar
-Objekt, das ab sofort immer einmalig informiert wird, wenn
das Ziel-Objekt zum Stehen kommt.public boolean steht()
steht
in class PhysikClient
true
, wenn das Ziel-Objekt auf einem Passiv-Objekt steht und somit nicht
faellt oder steigt, sonst false
.public void schwerkraftSetzen(int schwerkraft)
schwerkraftSetzen
in class PhysikClient
schwerkraft
- Der Wert fuer die Schwerkraft der Physik.Raum.aktivMachen()
public void impulsHinzunehmen(Vektor impuls)
impulsHinzunehmen
in class PhysikClient
impuls
- der neue Impuls, der auf das Objekt wirken soll. (in [kg* (m / s)])public void geschwindigkeitHinzunehmen(Vektor geschwindigkeit)
v_neu = v + v'
geschwindigkeitHinzunehmen
in class PhysikClient
geschwindigkeit
- Die neue Geschwindigkeit v', die zur aktuellen Geschwindigkeit v hinzuaddiert werden
soll.(in [m / s])public float getLuftwiderstandskoeffizient()
getLuftwiderstandskoeffizient
in class PhysikClient
public boolean istBeeinflussbar()
istBeeinflussbar
in class PhysikClient
public float getMasse()
getMasse
in class PhysikClient
public Vektor getForce()
getForce
in class PhysikClient
public void luftwiderstandskoeffizientSetzen(float luftwiderstandskoeffizient)
luftwiderstandskoeffizientSetzen
in class PhysikClient
luftwiderstandskoeffizient
- Der Luftwiderstandskoeffizient. Darf nicht kleiner als 0 sein!public void beeinflussbarSetzen(boolean beeinflussbar)
beeinflussbarSetzen
in class PhysikClient
beeinflussbar
- ist dieser Wert true
, ist das Objekt ab sofort beeinflussbar. Sonst ist es
nicht beeinflussbar.public void masseSetzen(float masse)
masseSetzen
in class PhysikClient
masse
- die neue Masse des Client-Objekts.(in [kg])public void kraftSetzen(Vektor kraft)
kraftSetzen
in class PhysikClient
kraft
- Die neue Kraft, die auf das Client-Objekt wirken soll.(in [m / s^2] = [N])public void geschwindigkeitSetzen(Vektor geschwindigkeit)
geschwindigkeitSetzen
in class PhysikClient
geschwindigkeit
- Die neue Geschwindigkeit für das Client-Objekt. (in [m / s])public void einfluesseZuruecksetzen()
einfluesseZuruecksetzen
in class PhysikClient
public void kraftAnwenden(Vektor kraft, float t_kraftuebertrag)
kraftAnwenden
in class PhysikClient
kraft
- Die Kraft, die auf das Objekt anliegen soll. (in [kg* (m / s^2)] = [N])t_kraftuebertrag
- Die Dauer, für die die Kraft auf das Objekt wirkt. (in [s)])public boolean xVersch(float dX)
dX
- Die x-Änderung (Delta-X)true
, wenn die Bewegung in X-Richtung ohne Passiv-Block moeglich war,
sonst false
.public boolean yVersch(float dY)
dY
- Die y-Änderung (Delta-Y)true
, wenn die Bewegung in Y-Richtung ohne Passiv-Block moeglich war,
sonst false
.