Я пытаюсь использовать GridWorld (из учебного плана по информатике AP) для создания игры, и у меня возникают проблемы с использованием нескольких сеток.Мировой метод setGrid, похоже, не работает.У меня сложилось впечатление, что вы можете сосуществовать с несколькими объектами сетки, и что текущий, на который указывает Мир, - это объект, который рисуется в GUI.Но это не то, что происходит ... когда я вызываю setGrid Мира и передаю ему сетку, сетка, кажется, устанавливается только ЛОГИЧЕСКИ, и System.out.printing дает правильные результаты своих актеров и их текущих позиций, ноГрафический интерфейс не обновляется, и вы не можете видеть сетку.
Я написал простой ActorWorld, чтобы проиллюстрировать это:
public static void main(String[] args) throws Exception
{
ActorWorld x = new ActorWorld()
{
Grid<Actor> gr1 = new BoundedGrid<Actor>(10,10);
Grid<Actor> gr2 = new BoundedGrid<Actor>(10,10);
public void step()
{
new Actor().putSelfInGrid(gr1, new Location(1,1));
new Actor().putSelfInGrid(gr2, new Location(9,9));
if (getGrid() == gr2)
setGrid(gr1);
else
setGrid(gr2);
System.out.println(getGrid());
}
};
x.show();
}
Каждый шаг, который он должен изменить на другую сеткупокажите это, так что в основном то, что ДОЛЖНО происходить, это один актер в сетке, меняющий местоположение с (1,1) на (9,9).Но на самом деле, он просто отображает пустую сетку (потому что он использует оригинальную сетку, которую он сделал в конструкторе по умолчанию, поскольку я ее не предоставлял).В чем дело?Как мне заставить его нарисовать текущую сетку?