Я использую для кодирования в PHP, но я не очень разбираюсь в Java, и это уже давно проблема. Я ожидаю, что это будет довольно простое решение, однако я не могу найти какой-либо хороший пример кода любым способом, который я ищу, так что вот:
Я программирую игру, которая имеет место в 2d случайном порожденном бесконечном мире на карте на основе плитки (nitpicking: я знаю, что она не будет по-настоящему бесконечной. Я просто ожидаю, что мир будет довольно большим). Обычный подход к многомерному массиву map [x] [y] начался как основная идея, но поскольку Java не предоставляет способ для нецелого (т.е. Отрицательного) массива shenanigans, такого как PHP, я не могу правильно иметь (- x, + x, -y, + y) с помощью клавиш массива.
Мне нужно найти объекты на плитке с определенной координатой x, y, а также найти "смежные плитки" определенной плитки. (Тривиально, если я могу getObjectAt (x, y), я могу получить (x + 1, y) и т.д.)
Я читал о квадровых деревьях и R-деревьях и т.п. Концепция увлекательна, однако я не видел никакой простой, простой пример реализации на Java. И кроме того, я не совсем уверен, что именно это мне нужно.
Любые советы приветствуются
Спасибо