Bei der Verarbeitung versuche ich eine ArrayList von IntLists so zu erstellen, dass die anfängliche Anzahl von Elementen in der ArrayList von Anfang an variabel ist (aber ich werde es nicht im Code ändern) und die Nummer Die Anzahl der Elemente in der IntListe ist anfangs 0, wird jedoch innerhalb des Codes hinzugefügt und bearbeitet. Mein Code ist ein japanisches Ladder-Spiel, bei dem die ArrayList aus Leitern besteht, von denen jede eine IntList enthält, die "Rungen" enthält, die int-Komponenten sind, die einer Y-Position auf der Leiter entsprechen.Ändern von Einträgen in ArrayList von IntLists
ArrayList <IntList> Ladders = new ArrayList <IntList>();
IntList temp = new IntList();
void setup()
{
for(int i=0;i<numRails-1;i++)
{
Ladders.add(new IntList());
temp.clear();
temp.append(0);
Ladders.set(i,temp);
}
}
void addRung (int spot)
{
temp.clear();
temp = Ladders.get(spot);
temp.append(50);
//note that 50 is an arbitrary number, it would be given by MouseY
Ladders.set(spot,temp);
print(Ladders);
//I have also tried...
Ladders.get(spot).append(50);
}
Also mein Problem ist, dass addRung() 50 auf jedes einzelne Element OFTHE Arraylist und hinzuzufügen scheint "print (Leitern);" Ausgänge ...
[IntList size=1 [ 50 ], IntList size=1 [ 50 ], IntList size=1 [ 50 ], IntList size=1 [ 50 ], IntList size=1 [ 50 ], IntList size=1 [ 50 ], IntList size=1 [ 50 ], IntList size=1 [ 50 ], IntList size=1 [ 50 ]]
Gibt es einen besseren Weg, dies vollständig zu tun oder mache ich etwas falsch?
enthalten ich ein Bild von dem, was mein Code ausgibt, ... It should be a single rung at location 50 but it is 9 rungs at 50.
Sie erstellen eine einzelne IntList und fügen sie der ArrayList 50 Mal hinzu. Sie benötigen 50 verschiedene IntListen. –
Wie könnte ich meine addRung() Funktion schreiben, um das zu tun? –