Ich schreibe ein Schlachtschiff-Spiel und ich brauche einen Weg, um zu verfolgen, wo die Schiffe platziert wurden. Ich denke, der beste Weg dazu ist eine ArrayList. Wenn ich die Indizes, die in einem platzierten Schiff enthalten sind, speichere, kann ich die ArrayList durchlaufen, um anzuzeigen, dass es sich um eine ungültige Position handelt. wenn ich eine Schleife wie so habe zum Beispiel:2D-Array-Index in ArrayList speichern?
for (int j = 1; j < SIZE; j++)
{
for (int k = 1; k < SIZE; k++)
{
if ((cell[j][k].contains(click)))
{
cell[j][k].setColor(Color.blue);
}
}
}
Ich mag die Zelle speichern [j] [k] Position in einer Arraylist, und wenn es Zeit ist für den Benutzer, das Schiff zu platzieren , wird eine for-Schleife ausgeführt, um zu bestimmen, ob diese Zelle besetzt ist oder nicht. Das Problem ist, wenn ich versuche, der ArrayList hinzuzufügen, ich die tatsächliche Zelle, nicht den Index hinzufügen. Ich möchte, dass die aktuelle Position (x, y) in der Liste gespeichert wird, aber momentan speichere ich das eigentliche Element.
Sie könnten Javas Point-Class verwenden oder einfach Ihre eigenen verwenden. Habe eine 'ArrayList'. https://docs.oracle.com/javase/7/docs/api/java/awt/Point.html –
Gendarme
Array-Indizierung beginnt bei Null. Achtung. –
Ich bin mir nicht sicher, wofür Sie einen Arraylist brauchen. Ihr 2D-Array hat eine feste Größe. –