วันพฤหัสบดีที่ 18 กรกฎาคม พ.ศ. 2556

Bridge harp design





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 ช่วยทำให้เกิดการทำซ้ำจนกว่าจะเป็นเท็จ
  }
           //เส้นสีนัำตาล
  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 เส้น ดังรูป



ไม่มีความคิดเห็น:

แสดงความคิดเห็น