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