CODE
int a = 0;
int x = 125;
int y = 20;
int spacex = 1;
int spacey = 45;
int n = 6;
int n1 = 0;
void setup(){
size(250,300);
background(59,58,55);
}
void draw(){
drawExpressway();
}
void drawExpressway(){
while(n1<n){ //เมื่อตัวแปร n1<n เป็นจริง
int x = 125;
int y = 20;
int spacex = 1;
int spacey = 45;
int n = 6;
int n1 = 0;
void setup(){
size(250,300);
background(59,58,55);
}
void draw(){
drawExpressway();
}
void drawExpressway(){
while(n1<n){ //เมื่อตัวแปร n1<n เป็นจริง
-ให้พิจารณาที่เงื่อนไขif(n1<=0) และถ้าเงื่อนไขเป็นจริงจะสร้างถนนสีเทาและเส้นขอบข้างถนน
-เมื่อพิจารณาเงื่อนไข if(n1<=0) หรือ if(n1<=0) เป็นเท็จแล้ว ให้แสดงสีเหลี่ยม(ขีดกลางถนน)
-ทำซ้ำไปจนกว่า n1<n เป็นเท็จ
if(n1<=0){ //ถ้าค่าของตัวแปร n1 น้อยกว่าหรือเท่ากับ 0 ให้แสดงรูปสามเหลี่ยม(ถนน)และเส้นที่อยู่ข้างขอบสามเหลี่ยม(ถนน) 2 เส้น
if(n1<=0){ //ถ้าค่าของตัวแปร n1 น้อยกว่าหรือเท่ากับ 0 ให้แสดงรูปสามเหลี่ยม(ถนน)และเส้นที่อยู่ข้างขอบสามเหลี่ยม(ถนน) 2 เส้น
//ถนน
noStroke();
fill(160,159,158);
triangle(-10,height,width/2,-150,width+10,height);
strokeWeight(5);
stroke(250);
line(x-30,0,x-120,height);
line(x+30,0,x+120,height);
}
noStroke();
fill(160,159,158);
triangle(-10,height,width/2,-150,width+10,height);
strokeWeight(5);
stroke(250);
line(x-30,0,x-120,height);
line(x+30,0,x+120,height);
}
//เส้นกลางถนน
noStroke();
fill(250);
rect(x,y,7+a,12+a); //ตำแหน่งสี่เหลี่ยมเปลี่ยนตามค่าตัวแปร x,y ขนาดเปลี่ยนตามค่าตัวแปร a
a = a + 2; //ช่วยให้เกิดการเปลี่ยนขนาด แต่ละครั้งของการทำซ้ำ
x = x - spacex; //ช่วยให้เกิดการเปลี่ยนตำแหน่งในแนวนอน แต่ละครั้งของการทำซ้ำ
y = y + spacey; //ช่วยให้เกิดการเปลี่ยนตำแหน่งในแนวตั้ง แต่ละครั้งของการทำซ้ำ
spacey = spacey + 3; //ช่วยให้เพิ่มค่าตัวแปร spacey แต่ละครั้งของการทำซ้ำ
n1 = n1 + 1; //เป็นการเพิ่มค่าของตัวแปร n1 ช่วยทำให้เกิดการทำซ้ำจนกว่าจะเป็นเท็จ
}
}
noStroke();
fill(250);
rect(x,y,7+a,12+a); //ตำแหน่งสี่เหลี่ยมเปลี่ยนตามค่าตัวแปร x,y ขนาดเปลี่ยนตามค่าตัวแปร a
a = a + 2; //ช่วยให้เกิดการเปลี่ยนขนาด แต่ละครั้งของการทำซ้ำ
x = x - spacex; //ช่วยให้เกิดการเปลี่ยนตำแหน่งในแนวนอน แต่ละครั้งของการทำซ้ำ
y = y + spacey; //ช่วยให้เกิดการเปลี่ยนตำแหน่งในแนวตั้ง แต่ละครั้งของการทำซ้ำ
spacey = spacey + 3; //ช่วยให้เพิ่มค่าตัวแปร spacey แต่ละครั้งของการทำซ้ำ
n1 = n1 + 1; //เป็นการเพิ่มค่าของตัวแปร n1 ช่วยทำให้เกิดการทำซ้ำจนกว่าจะเป็นเท็จ
}
}
จากโค้ด ค่า n1 = 0 และ n = 6 เมื่อ while(n1<n){} จะทำให้เกิดเส้นสีต่างๆครั้งแรกและเกิดการทำซ้ำ 5 ครั้ง(เนื่องจาก n น้อยกว่า 6) รวมทั้งหมดจะมีเส้นสีต่างๆ สีละ 6 เส้น ซึ่งจะเริ่มทำตั้งแต่ 0 ถึง 5
ตัวอย่าง ถ้าเปลี่ยนค่า n = 2 จะทำให้เกิดเส้นกลางถนน 2 เส้น ดังรูป
ไม่มีความคิดเห็น:
แสดงความคิดเห็น