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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden