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