GridWorld Problèmes de laboratoire
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());
}
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