Frage

Ich versuche, einen Code zu erstellen, der einen Schauspieler an einen zufälligen Ort verschiebt, wenn er geöffnet ist. Ich habe jedoch Schwierigkeiten mit einem Fehler, der sich aus dieser Zeile ergibt.

if (null == get(loc))

Grundsätzlich dachte ich, diese Linie würde überprüfen, ob der Ort geöffnet wäre. Ich bekomme jedoch diesen Fehler, kann jemand helfen?

F:\Lab III Car and Teleporter\Teleporter Project\TeleporterActor.java:42: error: cannot find symbol
            if (null == get(loc))
                        ^
  symbol:   method get(Location)
  location: class TeleporterActor
1 error

Process completed.

public void act()
    {
        Location place = getLocation();
        Grid<Actor> gr = getGrid();
        int cols = gr.getNumRows();
        int rows = gr.getNumCols();
        do
        {
            Location loc = new Location((int)(Math.random() * rows - 1), (int)(Math.random() * cols - 1));
            if (null == get(loc))
                moveTo(loc);    
        }
        while (place == getLocation());  
    }
War es hilfreich?

Lösung

Der Fehler bedeutet, dass Sie keine haben get Methode in Ihrem TeleporterActor Klasse, daher weiß der Compiler nicht, was Sie unter Verwendung verstehen get.

Fügen Sie entweder eine solche Methode zu Ihrem hinzu TeleporterActor Klasse oder rufen Sie es beispielsweise auf einem anderen Objekt auf

gr.get( loc );

wo ich das angenommen habe get Methode ist auf Ihrem verfügbar Grid

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top