CODE
void setup(){
size(350,150);
}
void draw(){
background(180,230,234);
drawBridge();
}
void drawBridge(){
int x = 110;
int y = 80;
int x1 = 100;
int y1 = 100;
int x2 = 130;
int spacex = 10;
int spacey = 10;
int n = 5;
int count = 0;
while(count<n){
stroke(0);
strokeWeight(1);
line(x,y,x1,y1); //เส้นสีดำตำแหน่งทางด้านซ้าย(ฝั่งซ้ายของเสาสีสีน้ำตาล) และจะมีการเลื่อนตำแหน่งตามค่า x(แนวนอน1),y(แนวตั้ง1),x1(แนวนอน2),y1(แนวตั้ง2)
line(x,y,x2,y1); //เส้นสีดำตำแหน่งทางด้านซ้าย(ฝั่งขวาของเสาสีน้ำตาล) และจะมีการเลื่อนตำแหน่งตามค่า x(แนวนอน1),y(แนวตั้ง1),x2(แนวนอน2),y1(แนวตั้ง2)
line(x+130,y,x1+120,y1); //เส้นสีดำตำแหน่งทางด้านขวา(ฝั่งซ้ายของเสาสีน้ำตาล) และจะมีการเลื่อนตำแหน่งตามค่า x+130(แนวนอน1),y(แนวตั้ง1),x1+120(แนวนอน2),y1(แนวตั้ง2)
line(x+130,y,x2+120,y1); //เส้นสีดำตำแหน่งทางด้านขวา(ฝั่งขวาของเสาสีน้ำตาล) และจะมีการเลื่อนตำแหน่งตามค่า x+130(แนวนอน1),y(แนวตั้ง1),x2+120(แนวนอน2),y1(แนวตั้ง2)
y = y - spacey; //ช่วยให้เกิดระยะห่างในแนวตั้งแต่ละครั้งของการทำซ้ำ
x1 = x1 - spacex; //ช่วยให้เกิดระยะห่างในแนวนอน1แต่ละครั้งของการทำซ้ำ
x2 = x2 + spacex; //ช่วยให้เกิดระยะห่างในแนวนอน2แต่ละครั้งของการทำซ้ำ
count = count + 1; //เป็นการเพิ่มค่าของตัวแปร count ช่วยทำให้เกิดการทำซ้ำจนกว่าจะเป็นเท็จ
}
size(350,150);
}
void draw(){
background(180,230,234);
drawBridge();
}
void drawBridge(){
int x = 110;
int y = 80;
int x1 = 100;
int y1 = 100;
int x2 = 130;
int spacex = 10;
int spacey = 10;
int n = 5;
int count = 0;
while(count<n){
stroke(0);
strokeWeight(1);
line(x,y,x1,y1); //เส้นสีดำตำแหน่งทางด้านซ้าย(ฝั่งซ้ายของเสาสีสีน้ำตาล) และจะมีการเลื่อนตำแหน่งตามค่า x(แนวนอน1),y(แนวตั้ง1),x1(แนวนอน2),y1(แนวตั้ง2)
line(x,y,x2,y1); //เส้นสีดำตำแหน่งทางด้านซ้าย(ฝั่งขวาของเสาสีน้ำตาล) และจะมีการเลื่อนตำแหน่งตามค่า x(แนวนอน1),y(แนวตั้ง1),x2(แนวนอน2),y1(แนวตั้ง2)
line(x+130,y,x1+120,y1); //เส้นสีดำตำแหน่งทางด้านขวา(ฝั่งซ้ายของเสาสีน้ำตาล) และจะมีการเลื่อนตำแหน่งตามค่า x+130(แนวนอน1),y(แนวตั้ง1),x1+120(แนวนอน2),y1(แนวตั้ง2)
line(x+130,y,x2+120,y1); //เส้นสีดำตำแหน่งทางด้านขวา(ฝั่งขวาของเสาสีน้ำตาล) และจะมีการเลื่อนตำแหน่งตามค่า x+130(แนวนอน1),y(แนวตั้ง1),x2+120(แนวนอน2),y1(แนวตั้ง2)
y = y - spacey; //ช่วยให้เกิดระยะห่างในแนวตั้งแต่ละครั้งของการทำซ้ำ
x1 = x1 - spacex; //ช่วยให้เกิดระยะห่างในแนวนอน1แต่ละครั้งของการทำซ้ำ
x2 = x2 + spacex; //ช่วยให้เกิดระยะห่างในแนวนอน2แต่ละครั้งของการทำซ้ำ
count = count + 1; //เป็นการเพิ่มค่าของตัวแปร count ช่วยทำให้เกิดการทำซ้ำจนกว่าจะเป็นเท็จ
}
//เส้นสีนัำตาล
strokeWeight(3);
stroke(193,174,74);
line(x,y+10,x,120); //ไม่เกิดการทำซ้ำเนื่องจากไม่ได้อยู่ในฟังก์ชันwhile()แต่เป็นการเรียกใช้ค่าตัวแปรที่กำหนดค่าไว้ตั้งแต่ครั้งแรก
line(x+130,y+10,x+130,120); //ไม่เกิดการทำซ้ำเนื่องจากไม่ได้อยู่ในฟังก์ชันwhile()แต่เป็นการเรียกใช้ค่าตัวแปรที่กำหนดค่าไว้ตั้งแต่ครั้งแรก
line(25,y1,325,y1); //ไม่เกิดการทำซ้ำเนื่องจากไม่ได้อยู่ในฟังก์ชันwhile()แต่เป็นการเรียกใช้ค่าตัวแปรที่กำหนดค่าไว้ตั้งแต่ครั้งแรก
}
strokeWeight(3);
stroke(193,174,74);
line(x,y+10,x,120); //ไม่เกิดการทำซ้ำเนื่องจากไม่ได้อยู่ในฟังก์ชันwhile()แต่เป็นการเรียกใช้ค่าตัวแปรที่กำหนดค่าไว้ตั้งแต่ครั้งแรก
line(x+130,y+10,x+130,120); //ไม่เกิดการทำซ้ำเนื่องจากไม่ได้อยู่ในฟังก์ชันwhile()แต่เป็นการเรียกใช้ค่าตัวแปรที่กำหนดค่าไว้ตั้งแต่ครั้งแรก
line(25,y1,325,y1); //ไม่เกิดการทำซ้ำเนื่องจากไม่ได้อยู่ในฟังก์ชันwhile()แต่เป็นการเรียกใช้ค่าตัวแปรที่กำหนดค่าไว้ตั้งแต่ครั้งแรก
}
ภาพต้นแบบ
จากโค้ด ค่า
count = 0 และ n = 5 เมื่อ while(count<n){}
จะทำให้เกิดเส้นสีดำครั้งแรกและเกิดการทำซ้ำ 4 ครั้ง(เนื่องจาก count
น้อยกว่า 5) รวมทั้งหมดจะมีเส้นสีดำ 5 เส้น ซึ่งจะเริ่มทำตั้งแต่ 0 ถึง 4
ตัวอย่าง ถ้าเปลี่ยนค่า n = 2 จะทำให้เกิดเส้นสีดำด้านซ้ายและขวาภาพ ด้านละ 2 เส้น ดังรูป
ไม่มีความคิดเห็น:
แสดงความคิดเห็น