void setup() {
background(225,225,170);
size(200, 300);
}
void draw() {
Treefish();
BigfishandBeam();
}
void BigfishandBeam() { //เป็นการสร้างฟังก์ชันขึ้นมาเอง จะตั้งชื่อว่าอะไรก็ได้
แต่ต้องมี void ....(){ }อยู่เสมอ โดยใส่คำสั่งที่ต้องการเข้าไปใน { }
ในที่นี้กำหนดให้เป็นฟังก์ขันที่วาดปลาตัวใหญ่และคาน
//beam
fill(0);
rect(85,0,2,70);
ellipse(86,20,10,10);
//bigfish
fill(250, 15, 180);
triangle(30, 100, 110, 50, 110, 150);
triangle(120, 100, 170, 60, 170, 140);
ellipse(80, 100, 100, 60);
fill(0);
ellipse(45, 95, 10, 10);
}
void Treefish() { //เป็นการสร้างฟังก์ชันขึ้นมาเอง จะตั้งชื่อว่าอะไรก็ได้
แต่ต้องมี void ....(){ }อยู่เสมอ โดยใส่คำสั่งที่ต้องการเข้าไปใน { }
ในที่นี้กำหนดให้เป็นฟังก์ขันที่วาดปลา3ตัว
int x=30;
int y=100;
int l=110;
int c=0;
int n=3;
while (c<n) { //while( ){} คือคำสั่งที่ใช่ในการวนลูป หรือทำงานซ้ำๆเมื่อเงื่อนไขเป็นจริง
และเลิกทำเมื่อเงื่อนไขไม่เป็นจริง
โดยกำหนดเงื่อนไขใน ( ) และกำหนดคำสั่งใน { }
ในที่นี้เงื่อนไขคือ c<n
line(x, y, x, y+l);
drawFish(x, l+100, 30);
x=x+50;
l=l+20;
c=c+1;
}
}
void drawFish(int x, int y, int r) { //เป็นการสร้างฟังก์ชันขึ้นมาเอง จะตั้งชื่อว่าอะไรก็ได้
แต่ต้องมี void ....(){ }อยู่เสมอ
(int x,int y,int,r)ที่เห็นคือการ กำหนดตัวแปลเพื่อให้สามารถ
ใส่ค่าเข้าไปเองได้ เช่น เรียกใช้ drawFish(30,210,30);
ค่าต่างๆก็จะถูกส่งไปที่ตัวแปล x,y และ rตามลำดับ
ในที่นี้คำสั่งในฟังก์ชันนี้
คือ ellipse(x,y,r,r); จะได้เป็น ellipse(30,310,30,30);
triangle(x+15, y, x+25, y-20, x+25, y+20);
จะได้เป็นtriangle(45,210,55,190,55,230);
fill(250, 15, 180);
ellipse(x, y, r, r);
triangle(x+15, y, x+25, y-20, x+25, y+20);
}
//เพิ่มเติม ตรวจสอบเงื่อนไขที่ while ในที่นี้คือ c<n ว่าเป็นจริงหรือไม่ เนื่องจากเริ่มต้น c =0
จะได้ว่าเงื่อนไขเป็นจริง ให้ทำตามคำสั่งข้างใน คือ วาดเส้น,เรียกใช้drawFish(); ,ค่าx เพิ่มขึ้น50,
ค่า l เพิ่ม20,และค่าcเพิ่มขึ้น1 ทุกๆครั้งที่มีการวนลูป และจะทำซ้ำอย่างนี้ไปเรื่อยๆจนเงื่อนไขเป็นเท็จ (c<n) จึงทำการออกจากลูปหรือหยุดการทำงาน
//อ้างอิงคำสั่งพื้นฐานต่างๆจากlab1 http://com5630043.blogspot.com/search/label/lab1
//อ้างอิงอธิบายฟังก์ชันจากlab2 http://com5630043.blogspot.com/search/label/lab2
ไม่มีความคิดเห็น:
แสดงความคิดเห็น