Frage von JOKERTHEJOKE, 18

Wieso funktioniert getY in Greenfoot nicht?

Hallo, wir hatten in der Schule die Aufgabe, in Greenfoot einen Actor im Kreis laufen zu lassen...

Ich hatte es auch einmal geschafft, jetzt wollte ich es nochmal tun, aber irgendwie funktioniert die if(getY) -Funktion nicht...

Hier habe ich mal einen Screenshot gemacht: 

In der ersten if-Funktion dreht sich die Kugel nach oben, in der Zweiten dann nach links. Aber ganu diese zweite if-Funktion wird nicht ausgelöst...

Wieso löst diese Funktion nicht aus?!

Antwort
von JOKERTHEJOKE, 16

Ok, ich habe jetzt mal versucht, den Code etwas Auszukommentieren: https://drive.google.com/file/d/0BzkEKR-RhZVYVEI5TVpNMlV0ZGM/view?usp=sharing

Außerdem habe ich versucht, aus dem move(1) ein move(-1) zu machen, mit dem gleichen Ergebnis.

getX funktioniert immer, getY jedoch nie...

Antwort
von JOKERTHEJOKE, 12

AHHHH, ich hab's!!;D

Mein Fehler war, dass - wohl halb in geistiger Umnachtung gestern Abend - zwei mal genau die gleiche die Funktion if( getX==570 ) gemacht habe (einmal für unten rechts und einmal für oben rechts), weswegen diese sich gegenseitig beeinflusst haben.

Jetzt, wo ich die letzte if-Funktion rausgenommen habe, funktioniert es!

Danke für eure Hilfe! ;D

Jetzt habe ich nurnoch eine Frage:

Wie Mache ich das, dass ich zwei Bedungungen in eine if-Verzweigung tue?

Ich weiß, dass es dafür ein Zeichen gibt, also sowas wie:

if( getX==570 und getY==30 )
Kommentar von JOKERTHEJOKE ,

Probieren geht über Studieren: &&

Dann wäre das alles, Danke nochmal! ;D

Antwort
von Juyas, 11

Vl ein kleiner radikaler Fehler...

Kommentar von JOKERTHEJOKE ,

Welcher Fehler?

Kommentar von Juyas ,

in deiner turn Methode ist das irgendwie schwammig, kommentiere das mal. ansonsten denke ich kann dir dein Lehrer weiterhelfen

Kommentar von JOKERTHEJOKE ,

Ok, ich habe jetzt mal versucht, den Code etwas Auszukommentieren: https://drive.google.com/file/d/0BzkEKR-RhZVYVEI5TVpNMlV0ZGM/view?usp=sharing

Außerdem habe ich versucht, aus dem move(1) ein move(-1) zu machen, mit dem gleichen Ergebnis.

getX funktioniert immer, getY jedoch nie...

Meinen Lehrer kann ich jetzt nicht mehr fragen, in der letzten Stunde hatte ich das ja noch hin bekommen, aber jetz irgendwie nicht mehr....

In der nächsten Informatikstunde (am Dienstag(!)) schreiben wir eine Informatik-Klausur, deswegen muss ich das jetz verstehen... :/

Antwort
von PerfectMuffin, 5

Okay, zweite von mir:

Du wirst sehen, dass die Kugekl nur in dieser einen Ecke hängen bleibt.

Warum ist das wohl so?

Wie viele Abfragen sollten nötig sein, um auf 4 Kanten zu prüfen?

Kommentar von JOKERTHEJOKE ,

Könntest du vieleicht etwas konstruktiver Antworten? ;)

Auf dem verlinkten Screenshot kann man ja sehen, dass die Kugel in der ersten Ecke hängen bleibt, demnach wird die zweite if-Funktion nicht ausgelöst...

Ich habe hier mal einen neuen Screenshot gemacht, bei dem ich versucht habe, den Code etwas Auszukommentieren:

Ok, ich habe jetzt mal versucht, den Code etwas Auszukommentieren: https://drive.google.com/file/d/0BzkEKR-RhZVYVEI5TVpNMlV0ZGM/view?usp=sharing

Außerdem habe ich versucht, aus dem move(1) ein move(-1) zu machen, mit dem gleichen Ergebnis.

getX funktioniert immer, getY jedoch nie...

Kommentar von PerfectMuffin ,

Dass getY nicht funktioniere geht aus deinen Beobachtungen eigentlich nicht hervor.

Füge mal in jeden der 5 if-Blöcke eine Ausgabeanweisung ein, damit du sehen kannst, welcher Block gerade angesprungen ist.

Antwort
von PerfectMuffin, 5

Liegt wahrscheinlich an dem Code, den du nicht zeigst.

Kommentar von Juyas ,

er zeigt ihn doch...

Keine passende Antwort gefunden?

Fragen Sie die Community