B
blauerteddypo
Gast
Hallo zusammen,
ich soll für die Uni ein Aquarium erstellen, in das Fische eingefügt werden können. Diese sollen sich logischer Weise bewegen. Das klappt bei meinem ersten Fisch auch einwandfrei. (Programmcode siehe unten). Habe das selber Schema für meinen zweiten Fisch verwendet. Hier nun mein Problem: diesr Fisch schwimmt nur von links nach rechts. Steckt irgendwas in diesme Code, was ich nicht durchschaue? (Java und ich sind noch kein eingespieltes Team)
Vielen Dank schon mal für die Hilfe
blauerteddypo
ich soll für die Uni ein Aquarium erstellen, in das Fische eingefügt werden können. Diese sollen sich logischer Weise bewegen. Das klappt bei meinem ersten Fisch auch einwandfrei. (Programmcode siehe unten). Habe das selber Schema für meinen zweiten Fisch verwendet. Hier nun mein Problem: diesr Fisch schwimmt nur von links nach rechts. Steckt irgendwas in diesme Code, was ich nicht durchschaue? (Java und ich sind noch kein eingespieltes Team)
Vielen Dank schon mal für die Hilfe
blauerteddypo
Java:
package infpp.oceanlife;
public class Fish extends OceanObject {
private int[] target;
/**
* creates a fish
* @param x width
* @param y depth
* @throws Exception if position is out of ocean
*/
public Fish(int x, int y) throws Exception {
super(x, y);
target = new int[2];
target[0] = x;
target[1] = y;
}
@Override
public String toString() {
return "Fish " + super.toString();
}
public String name() {
return "Fisch";
}
@Override
public void step(Ocean ocean) {
if (position[0] == target[0] && position[1] == target[1]) {
target[0] = (int) Math.round(Math.random() * ocean.getWidth());
target[1] = (int) Math.round(Math.random() * ocean.getDepth());
}
else {
position[0] += Math.signum(target[0] - position[0]);
position[1] += Math.signum(target[1] - position[1]);
}
}
}