/*
* Datei: TestDynamik2.java
* Autor(en): Lukas K�nig
* Java-Version: 6.0
* Erstellt: 23.05.2009
*
* (c) Lukas K�nig, die Datei unterliegt der LGPL
* -> http://www.gnu.de/lgpl-ger.html
*/
package fmg.fmg8.umgebung2D.dynWaende;
import fmg.fmg8.statistik.Parametersatz;
import fmg.fmg8.umgebung2D.Umgebung;
import fmg.fmg8.umgebung2D.Vektor2D;
/**
* @author Lukas K�nig
*/
public class TestDynamik2 implements Dynamik {
/**
* Test.
*/
private boolean b1 = true, b2 = true;
/**
* Test.
*/
private double versch1 = 0, versch2 = 0;
/**
* Standardkonstruktor.
*/
public TestDynamik2() {
super();
}
/**
* F�hrt die Verschiebung, Verzerrung, Rotation... von W�nden in der
* �bergebenen Umgebung durch.
*
* @param umg Die Umgebung, in der die Ver�nderungen stattfinden sollen.
* @param simZyk Der aktuelle Simulationszyklus.
* @param params Die Parameter.
*/
@Override
public void verschVorUm(
final Umgebung umg,
final long simZyk,
final Parametersatz params) {
int wandNum1;
int wandNum2;
for (wandNum1 = 0; umg.getDynWaende()[wandNum1] == null;) {
wandNum1++;
}
for (wandNum2 = wandNum1 + 1; umg.getDynWaende()[wandNum2] == null;) {
wandNum2++;
}
if (this.b1) {
this.versch1++;
} else {
this.versch1--;
}
if (this.b2) {
this.versch2++;
} else {
this.versch2--;
}
if (null != umg.verschWand(
wandNum1,
new Vektor2D(0, this.versch1 * 2))) {
this.b1 = !this.b1;
}
if (null != umg.verschWand(
wandNum2,
new Vektor2D(0, this.versch2 * 2))) {
this.b2 = !this.b2;
}
}
/**
* F�hrt die Verschiebung, Verzerrung, Rotation... von W�nden in der
* �bergebenen Umgebung durch. NACH der Umschaltung in Simulationsmodus.
* Es wird einfach die Methode VOR Umschaltung aufgerufen.
*
* @param umg Die Umgebung, in der die Ver�nderungen stattfinden sollen.
* @param simZyk Der aktuelle Simulationszyklus.
* @param params Die Parameter.
*/
@Override
public void verschNachUm(
final Umgebung umg,
final long simZyk,
final Parametersatz params) {
this.verschVorUm(umg, simZyk, params);
}
}