28. Apr 2024, 19:01 Hallo Gast.
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

Einloggen mit Benutzername, Passwort und Sitzungslänge. Hierbei werden gemäß Datenschutzerklärung Benutzername und Passwort verschlüsselt für die gewählte Dauer in einem Cookie abgelegt.


Select Boards:
 
Language:
 


Autor Thema: Greenfoot/Java-Programmieren Problem  (Gelesen 3102 mal)

Daywalker

  • Pförtner von Bree
  • *
  • Beiträge: 81
Greenfoot/Java-Programmieren Problem
« am: 13. Jul 2010, 18:01 »
Hallo,
Ich muss in Informatik im Moment ein kleines Spiel mit Greenfoot, einem Programm das auf der "Java-Programmiersprache" oder wie man das nennt aufbaut, programmieren.
Das Spiel läuft bisher wie folgt ab:
Der Spieler steuert per Tastatur eine Klasse "Held". Trifft diese Klasse auf ein Objekt der Klasse Zombie, so soll die Welt, in der sich die beiden befinden, das Programm anhalten und ein Objekt "Game Over" spawnen. Jedoch scheint die Kommunikation zwischen der Klasse Held und der Welt nicht so ganz zu funktionieren, da, sobald der Held den Zombie berührt, folgende Fehlermeldung erscheint:

java.lang.NullPointer.Ex ception


Ich wäre sehr dankbar wenn mir jemand, der mehr Erfahrung hat als ich (Ich bin ein ziemlicher Frischling) helfen könnte.
Hier ist der entsprechende Abschnitt des Quellcodes der Klasse Held, die Zeilen, die für den Fehler verantwortlich sein sollen, habe ich rot markeirt:

public class Held  extends Actor
{
    private int speed = 7;
    private int speed_2 = 0;
    private int push = 2;
    private int jumpSpeed = -12;
   
   
    public void act()
    {
        andGo();
        checkFall();
        Loose();
    }


    public boolean getLoose()
    {
        Actor zombie = getOneObjectAtOffset( 0, 0, Zombie.class);
        return zombie != null;
    }
    public void Loose()
    {
        if(getLoose() )
        {
           
           setImage("held_tot.png");
           setLocation(getX(), getY() + speed);
           Greenfoot.delay (50);
           getWorld().removeObject(this);
           ((Welt) getWorld()).gameOver();
        }
    }
}