Лабораторные задачи GridWorld - PullRequest
1 голос
/ 04 декабря 2011

Я пытаюсь создать код, который переместит актера в случайное место, если оно открыто.Однако у меня возникли проблемы с ошибкой, возникающей из-за этой строки.

if (null == get(loc))

В основном я думал, что эта строка проверит, открыто ли местоположение.Однако я получаю эту ошибку, кто-нибудь может помочь?

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());  
    }

1 Ответ

1 голос
/ 04 декабря 2011

Ошибка означает, что в вашем классе TeleporterActor нет метода get, поэтому компилятор не знает, что вы имеете в виду, используя get.

Либо добавьте такой метод в класс TeleporterActor, либо вызовите его для другого объекта, например

gr.get( loc );

где я предположил, что метод get доступен на вашем Grid

...