CODE
void setup(){
size(250,280);
background(0);
int [] a = {1,1,2,3,1}; //สร้าง Array ชื่อ a ที่มีค่าเท่ากับ 1,1,2,3,1 ตามลำดับ
int x = 30;
int y = 40;
int r = 50;
int i = 0; //ตัวแปร i เท่ากับ 0 (ลำดับ 0 ใน Array)
int n = 5;
while(i<n){ //ถ้าลำดับ i ใน Array ชื่อ a น้อยกว่าค่า n (ซึ่งเท่ากับ 5)
drawRow(x, y, a[i], r); //ให้สร้างฟังก์ชันชื่อ drawRow(x,y,a[i],r)
y = y + r; //เพิ่มค่า y ทีละ r (ซึ่งเท่ากับเพิ่มทีละ 50)
i = i + 1; //เพิ่มค่า i ทีละ 1 เพื่อเลื่อนลำดับใน Array
}
}
void drawRow(int x1, int y1, int n1, int r1) { //เรียกใช้ฟังก์ชัน drawRow(int x1,int y1,int n1,int r1) เพื่อสร้างแถวของวงกลม
int i = 0; //ตัวแปร i เท่ากับ 0 (ลำดับ 0 ใน Array)
while (i < n1) { //ถ้าตัวแปร i น้อยกว่าค่า n1 (ซึ่งเท่ากับค่าใน Array ชื่อ a ที่มีค่าเท่ากับ 1,1,2,3,1 ตามลำดับ )
drawCircle(x1, y1, r1); //ให้สร้างฟังก์ชันชื่อ drawCircle(x1,y1,r1)
x1 = x1 + r1; //เพิ่มค่า x1 ทีละ r1 (ซึ่งเท่ากับเพิ่มทีละ 50) เพื่อเว้นระยะห่างของวงกลม
i = i + 1; //เพิ่มค่า i ทีละ 1
}
}
void drawCircle(int x2, int y2, int r2) { //เรียกใช้ฟังก์ชัน drawCircle(int x2,int y2,int r2) เพื่อสร้างวงกลม
noStroke();
fill(50+y2,50+(6*y2),100+(5*y2));
ellipse(x2, y2, r2, r2);
}
จากโค้ด ค่าใน Array จาก int [] a = {1,1,2,3,1}; จะทำให้ได้วงกลมแถวละ 1,1,2,3,1 ตามลำดับ
ถ้าเปลี่ยนค่าใน Array จาก int [] a = {1,1,2,3,1}; ไปเป็น int [] a = {2,3,4,3,2}; จะทำให้ได้วงกลมแถวละ 2,3,4,3,2 ตามลำดับ จะได้ดังรูป
size(250,280);
background(0);
int [] a = {1,1,2,3,1}; //สร้าง Array ชื่อ a ที่มีค่าเท่ากับ 1,1,2,3,1 ตามลำดับ
int x = 30;
int y = 40;
int r = 50;
int i = 0; //ตัวแปร i เท่ากับ 0 (ลำดับ 0 ใน Array)
int n = 5;
while(i<n){ //ถ้าลำดับ i ใน Array ชื่อ a น้อยกว่าค่า n (ซึ่งเท่ากับ 5)
drawRow(x, y, a[i], r); //ให้สร้างฟังก์ชันชื่อ drawRow(x,y,a[i],r)
y = y + r; //เพิ่มค่า y ทีละ r (ซึ่งเท่ากับเพิ่มทีละ 50)
i = i + 1; //เพิ่มค่า i ทีละ 1 เพื่อเลื่อนลำดับใน Array
}
}
void drawRow(int x1, int y1, int n1, int r1) { //เรียกใช้ฟังก์ชัน drawRow(int x1,int y1,int n1,int r1) เพื่อสร้างแถวของวงกลม
int i = 0; //ตัวแปร i เท่ากับ 0 (ลำดับ 0 ใน Array)
while (i < n1) { //ถ้าตัวแปร i น้อยกว่าค่า n1 (ซึ่งเท่ากับค่าใน Array ชื่อ a ที่มีค่าเท่ากับ 1,1,2,3,1 ตามลำดับ )
drawCircle(x1, y1, r1); //ให้สร้างฟังก์ชันชื่อ drawCircle(x1,y1,r1)
x1 = x1 + r1; //เพิ่มค่า x1 ทีละ r1 (ซึ่งเท่ากับเพิ่มทีละ 50) เพื่อเว้นระยะห่างของวงกลม
i = i + 1; //เพิ่มค่า i ทีละ 1
}
}
void drawCircle(int x2, int y2, int r2) { //เรียกใช้ฟังก์ชัน drawCircle(int x2,int y2,int r2) เพื่อสร้างวงกลม
noStroke();
fill(50+y2,50+(6*y2),100+(5*y2));
ellipse(x2, y2, r2, r2);
}
จากโค้ด ค่าใน Array จาก int [] a = {1,1,2,3,1}; จะทำให้ได้วงกลมแถวละ 1,1,2,3,1 ตามลำดับ
ถ้าเปลี่ยนค่าใน Array จาก int [] a = {1,1,2,3,1}; ไปเป็น int [] a = {2,3,4,3,2}; จะทำให้ได้วงกลมแถวละ 2,3,4,3,2 ตามลำดับ จะได้ดังรูป
ไม่มีความคิดเห็น:
แสดงความคิดเห็น