Question

Je tente de créer un code qui déplace un acteur à un endroit au hasard si elle est ouverte. Cependant, j'ai des difficultés avec une erreur qui résulte de cette ligne.

if (null == get(loc))

En fait je pensais que cette ligne vérifier si l'emplacement était ouvert. Cependant, je reçois cette erreur quelqu'un peut-il aider?

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());  
    }
Était-ce utile?

La solution

Les moyens d'erreur vous n'avez pas une méthode get dans votre classe TeleporterActor, d'où le compilateur ne sait pas ce que vous entendez en utilisant get.

Soit ajouter une telle méthode à votre classe TeleporterActor, ou appelez sur un autre objet, par exemple

gr.get( loc );

où je supposais la méthode get est disponible sur votre Grid

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top