Problemas de laboratorio de la red
Pregunta
Estoy intentando crear un código que mueva a un actor a una ubicación aleatoria si está abierto. Sin embargo, tengo dificultades con un error que resulta de esta línea.
if (null == get(loc))
Básicamente, pensé que esta línea verificaría si la ubicación estaba abierta. Sin embargo, recibo este error, ¿alguien puede ayudar?
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());
}
Solución
El error significa que no tiene un get
método en tu TeleporterActor
clase, por lo tanto, el compilador no sabe a qué te refieres con usar get
.
O agregue dicho método a su TeleporterActor
clase, o llámalo a otro objeto, por ejemplo
gr.get( loc );
donde supuse el get
El método está disponible en su Grid
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow