public class NullClient extends PhysikClient
Der Client fuer nicht vorhandene Teilnahme an der Physik.
Standartmaessig der Initialclient.
ziel
Constructor and Description |
---|
NullClient(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 Ziel-Objekt ohne wenn und aber.
|
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. |
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)
Diese Methode soll setzen, ob Schwerkraft aktiv ist.
|
void |
schwerkraftSetzen(int schwerkraft)
Setzt die Schwerkraft fuer dieses Objekt.
|
boolean |
sprung(int kraft)
Die ueberschriebene Sprung-Methode.
|
void |
stehReagierbarAnmelden(StehReagierbar s)
In diese Methode wird ein
StehReagierbar -Listener angemeldet. |
boolean |
steht()
Soll testen, ob das Ziel-Objekt steht.
|
ziel
public NullClient(Raum ziel)
Konstruktor
ziel
- Das Ziel des Clients.public boolean bewegen(Vektor v)
Bewegt das Ziel-Objekt ohne wenn und aber.
bewegen
in class PhysikClient
v
- Der Vektor, der die Bewegung beschreibt.true
, da die Bewegung eines physikalisch neutralen Objektes immer in vollem Zuge moeglich ist!public 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.
aufloesen
in class PhysikClient
public boolean sprung(int kraft)
Die ueberschriebene Sprung-Methode. Da sie nicht benoetigt wird, wird hierbei eine Fehlermeldung ausgegeben. Denn es wurde ein nichtaktives Objekt zum Sprung gebracht.
sprung
in class PhysikClient
kraft
- Die (theoretische) Sprungkraft.true
, wenn erfolgreich gesprungen wurde. In allen anderen Faellen false
.public void schwerkraftAktivSetzen(boolean aktiv)
Diese Methode soll setzen, ob Schwerkraft aktiv ist. Dies macht jedoch bei einem Neutral-Objekt keinen Sinn.
Daher wird nur eine Fehlermeldung ausgegeben.
schwerkraftAktivSetzen
in class PhysikClient
aktiv
- Ob die Schwerkraft aktiv sein soll. Ist jedoch hier absolut irrelevant.public void kritischeTiefeSetzen(int tiefe)
Diese Methode setzt die kritische Tiefe eines Aktiv-Objektes. Aber hierin wird nur eine Fehlermeldung ausgegeben, da bei dieser Klasse ein neutrales Objekt vorliegt, das keine kritische Falltiefe haben kann
kritischeTiefeSetzen
in class PhysikClient
tiefe
- Die Tiefe, ab der das anliegende FallReagierbar
-Interface informiert werden soll.fallReagierbarAnmelden(FallReagierbar, int)
public void fallReagierbarAnmelden(FallReagierbar f, int tiefe)
In dieser Methode wird der FallReagierbar
-Listener angemeldet.
Aber hierin wird nur eine Fehlermeldung ausgegeben, da bei dieser Klasse ein neutrales Objekt vorliegt, das keine kritische Falltiefe haben kann.
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
public void stehReagierbarAnmelden(StehReagierbar s)
In diese Methode wird ein StehReagierbar
-Listener angemeldet.
Aber in dieser Klasse wird nur eine Fehlermeldung ausgegeben, da das zu ueberwachende Objekt neutral und nicht aktiv ist.
stehReagierbarAnmelden
in class PhysikClient
s
- Der theoretisch anzumeldende Listener.public boolean steht()
Soll testen, ob das Ziel-Objekt steht.
Gibt jedoch eine Fehlermeldung aus, da das Ziel-Objekt kein Aktiv-Objekt ist und damit nicht Stehen/Fallen kann.
steht
in class PhysikClient
false
, da die Eigenschaft stehen in diesem Fall nicht konsistent definierbar ist.public void schwerkraftSetzen(int schwerkraft)
Setzt die Schwerkraft fuer dieses Objekt.
Da dies jedoch bei einem neutralen Objekt nicht moeglich ist, gibt es eine Fehlermeldung.
schwerkraftSetzen
in class PhysikClient
schwerkraft
- Der Wert fuer die Schwerkraft der Physik.Raum.aktivMachen()
public void impulsHinzunehmen(Vektor impuls)
Berechnet einen neuen Impuls auf das Client-Objekt.
impulsHinzunehmen
in class PhysikClient
impuls
- der neue Impuls, der auf das Objekt wirken soll. (in [kg* (m / s)])public void geschwindigkeitHinzunehmen(Vektor geschwindigkeit)
Addiert eine Geschwindigkeit v’ zur aktuellen Geschwindigkeit v. Die neue Geschwindigkeit des Client-Objekts ist damit:
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)
Setzt den Luftwiderstandskoeffizienten für das Client-Objekt. Dieser bestimmt, wie intensiv der Luftwiderstand das Objekt beeinträchtigt. Je höher dieser Wert ist, desto stärker ist der Luftwiderstand. Ist er 0, gibt es keinen Luftwiderstand.
luftwiderstandskoeffizientSetzen
in class PhysikClient
luftwiderstandskoeffizient
- Der Luftwiderstandskoeffizient. Darf nicht kleiner als 0 sein!public void beeinflussbarSetzen(boolean beeinflussbar)
Setzt, ob das Objekt ab sofort beeinflussbar sein soll.
Das bedeutet:
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)
Setzt die Masse des Clien-Objekts neu. Das kann auch mitten im Spiel geändert werden. Die Masse bestimmt zum Beispiel, wie sich das Objekt bei Kollisionen oder einem neuen Impuls verhält.
masseSetzen
in class PhysikClient
masse
- die neue Masse des Client-Objekts.(in [kg])public void kraftSetzen(Vektor kraft)
Setzt hart die konstante Kraft, die auf das Client-Objekt wirkt. Das bedeutet, dass die vorher gegoltene Kraft gelöscht wird ohne Rücksicht auf mögliche Implikationen/Probleme.
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)
Setzt hart die Geschwindigkeit des Client-Objekts. Das bedeutet, dass die vorher gegoltene Geschwindikeit gelöscht wird ohne Rücksicht auf mögliche Implikationen/Probleme.
geschwindigkeitSetzen
in class PhysikClient
geschwindigkeit
- Die neue Geschwindigkeit für das Client-Objekt. (in [m / s])public void einfluesseZuruecksetzen()
Setzt alle Einfluesse auf das Client-Objekt zurück. Dies sind:
einfluesseZuruecksetzen
in class PhysikClient
public void kraftAnwenden(Vektor kraft, float t_kraftuebertrag)
Wendet eine Kraft für einen bestimmten Zeitraum auf das Client-Objekt an. Hierdurch entsteht ein neuer Impuls auf das Objekt, der dessen Geschwindigkeit (und Richtung) ändern kann.
Wichtig: Dies ist eine Heuristik: Die Dauer sein genügend klein und die Kraft konstant, solange sie wirkt. Die rein physikalische Rechnung wäre wesentlich rechenintensiver.
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)])