我想記錄在此代碼中繪製的每個矩形的位置。我是一名初學者,並且我的理解只能通過數組列表來完成。我不知道如何構建列表來記錄矩形移動到的每個位置。這是代碼現在的樣子。如何創建一個ArrayList,以便我可以記錄每個這些項目的位置?
Walker w;
void setup() {
size(500, 500);
w = new Walker();
background(0);
frameRate(15);
}
void draw() {
w.draw();
}
void mousePressed(){
w.mousePressed();
}
class Walker {
int x;
int y;
float direction;
Walker() {
x = width/2;
y = height/2;
}
void draw() {
rect(x, y, 10, 10);
if (direction<1) { //North
float choice = random(1);
if (choice <0.4) {
x=x+10;
} else if (choice <0.8) {
x=x-10;
} else {
y=y-10;
}
} else if (direction<2) { //South
float choice = random(1);
if (choice <0.4) {
x=x-10;
} else if (choice <0.8) {
x=x+10;
} else {
y=y+10;
}
} else if (direction<3) { // East
float choice = random(1);
if (choice < 0.4) {
y=y+10;
} else if (choice <0.8) {
y=y-10;
} else {
x=x+10;
}
} else if (direction<4) { //West
float choice = random(1);
if (choice < 0.4) {
y=y+10;
} else if (choice <0.8) {
y=y-10;
} else {
x=x-10;
}
}
}
void mousePressed() {
direction = random(4);
x = width/2;
y = height/2;
}
}
_ _「只能通過一個ArrayList實現」。一個普通的數組,一個List,一個Map,一個Set是一些。如果你打算使用List,它不需要是一個'ArrayList';例如,它可能是一個'LinkedList'。你選擇如何存儲它取決於你以後如何使用它。 –