JanaH1994 Geschrieben 23. Februar 2010 Geschrieben 23. Februar 2010 Hallo erstmal ! Ich habe in Informatik die Aufgabe bekommen mit Greenfoot ein Programm zu erstellen in dem es 2 Figuren gibt. Die erste Figur (bei mir ''Starfish'') soll über die Tastatur gesteuert werden können und die zweite Figur (bei mir ''Seal'') soll eine Unterklasse von der 1. Figur sein und ein Rechteck (4x4) laufen.. allerdings soll diese nicht mit der Tastatur gesteuert werden. Dann soll es so sein, dass sich das Rechteck vom Seal um 1 Kästchen vergrößert bzw. verkleinert, wenn ich z.B. ''g'' für größer und ''k'' für kleiner drücke. Bisher hat alles geklappt außer die letzte Methode! Wenn ich auf ''g'' oder ''k'' drücke reagiert der Computer nicht, d.h. das Rechteck bleibt immer noch in der Größe 4x4. Hier sind die Befehle für den Starfish: public int a; public void act() { if (Greenfoot.isKeyDown("up")) {oben();} if (Greenfoot.isKeyDown("right")) {rechts();} if (Greenfoot.isKeyDown("down")) {unten();} if (Greenfoot.isKeyDown("left")) {links();} groesserKleiner(); } public void oben() { setLocation(getX(),getY()-1); } public void rechts() { setLocation(getX()+1,getY()); } public void unten() { setLocation(getX(),getY()+1); } public void links() { setLocation(getX()-1,getY()); } public int groesserKleiner() { if (Greenfoot.isKeyDown("g")){a=1;} if (Greenfoot.isKeyDown("k")){a=-1;} return a; } } und hier sind die Befehle für den Seal: private int phase=1; public int v=3; public void act() { if (phase==1){oben();} if (phase==2){rechts();} if (phase==3){unten();} if (phase==4){links();} phase=phase+1; if (phase==5){phase=1;} } public void oben() { setLocation(getX(),getY()-v); } public void rechts() { setLocation(getX()+v,getY()); } public void unten() { setLocation(getX(),getY()+v); } public void links() { setLocation(getX()-v,getY()); } } Ich hoffe, dass mir hier jemand helfen kann Danke schonmal im voraus ! LG, Jana Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.