Java: Was ist eine gute Datenstruktur zum Speichern einer Koordinatenkarte für eine unendliche Spielwelt?

Ich bin verwendet, um die Codierung in PHP, aber ich bin nicht wirklich versiert im Umgang mit Java-und dies wurde ein problem für einige Zeit jetzt. Ich erwarte, dass es eine ziemlich einfache Lösung, aber ich kann nicht finden, eine gute Beispiel-code, wie ich es suchen, so hier geht:

Bin ich Programmier ein Spiel, das stattfindet in einer 2d-zufällig generierte unendliche Welt auf einer Kachel-basierten Karte (Erbsenzählerei: ich weiß, es wird nicht wirklich unendlich. Ich erwarte lediglich, dass die Welt ziemlich groß). Die übliche Vorgehensweise der Karte[x][y] mehrdimensionales array, begann als eine grundlegende Idee, aber da in Java nicht bieten eine Möglichkeit für nicht-ganzzahlige (also negativ), array key-Spielereien wie PHP funktioniert, ich kann nicht richtig ein (-x,+x,-y,+y) - Koordinatensystem mit array-Schlüsseln.

Ich muss in der Lage sein zu finden die Objekte auf einer Kachel an einer bestimmten x -, y-Koordinate, sowie der Suche nach der "angrenzenden Fliesen" von einer bestimmten Kachel. (Trivial, wenn ich kann getObjectAt(x,y), kann ich(x+1,y), und so weiter)

Habe ich gelesen, die über quad-Bäume und R-Bäume und dergleichen. Das Konzept ist spannend, aber ich habe nicht gesehen ein gutes, einfaches Beispiel für die Implementierung in Java. Und außerdem bin ich nicht wirklich sicher, ob das ist, was ich genau brauchen.

Jede Beratung ist willkommen

Danke

InformationsquelleAutor der Frage Aykın | 2011-03-07

Schreibe einen Kommentar