Frage von Anna101966, 35

Wie schreibe ich in Java die Methode atWorldLeft() sodass sie bei Greenfoot funktioniert ?

Hey Leute ich soll versuchen das mein Roboter in Greenfoot von Zeile zu Zeile springt. Auf der Rechten Seite habe ich das geschafft aber auf der Linken Seite macht er das nicht und ich wollte fragen ob mal jemand sagen kann was ich falsch geschrieben habe.

public boolean atWorldLeft() { return getX() + 1 >= getWorld().getWidth(); }

Danke schon mal im Voraus.

Antwort
von rmnstr, 14

Auch ohne eine Ahnung von Greenfoot zu haben:

getWorld().getWidth();

gibt die Breite der Welt zurück, also die Koordinaten auf der rechten Seite. 
Du willst aber die linke Seite abfragen, die wahrscheinlich bei 0 beginnt. Also musst du nur testen, ob die x-Koordinate des Characters 0 ist.

public boolean atWorldLeft() { 
return getX() == 0;
}

Für den Test der rechten Seite würde dann auch der Test reichen, ob die x-Koordinate des Characters der Breite der Welt entspricht:

public boolean atWorldRight() { 
return getX() == getWorld().getWidth();
}
Antwort
von DeiDei2303, 20

Ohne irgendwetwas zu kennen, würde ich mal:

public boolean atWorldLeft() { return getX() < 0; }

Kommentar von Anna101966 ,

das funktioniert leider nicht

Kommentar von 3v1lH4x0R ,

Das überprüft auch ob er links aus der Welt raus ist.

Keine passende Antwort gefunden?

Fragen Sie die Community