ประโยชน์ของฟังก์ชั่น
1. ง่ายต่อการตรวจสอบ การอ่าน และแก้ไขข้อบกพร่อง
ตัวอย่างคำสั่ง
โปรแกรมที่ไม่ได้ใช้ฟังก์ชั่น
background(255, 255, 255, 255);
size(500, 500);
stroke(229, 95, 16);
line(50, 50, 300, 50);
line(50, 250, 300, 250);
line(50, 50, 50, 250);
line(300, 50, 300, 250);
fill(255, 0, 0);
ellipse(100, 100, 20, 20);
ellipse(150, 180, 20, 20);
ellipse(200, 200, 20, 20);
fill(16, 229, 49);
ellipse(100, 180, 30, 30);
ellipse(200, 80, 30, 30);
ellipse(250, 200, 30, 30);
รูปตัวอย่าง
โปรแกรมที่มีการใช้ฟังก์ชั่น
void draw_square(){
stroke(229,95,16);
line(50,50,300,50);
line(50,250,300,250);
line(50,50,50,250);
line(300,50,300,250);
}
void draw_circle(){
fill(255,0,0);
ellipse(100,100,20,20);
ellipse(150,180,20,20);
ellipse(200,200,20,20);
fill(16,229,49);
ellipse(100,180,30,30);
ellipse(200,80,30,30);
ellipse(250,200,30,30);
}
void setup(){
background(255,255,255,255);
size(500,500);
draw_square();
draw_circle();
}
รูปตัวอย่าง
ดังตัวอย่าง โปรแกรมที่ไม่ได้ใช้ฟังก์ชั่น จะมีคำสั่งติดกันลงมาเรื่อยๆ ทำให้ไม่สามารถรู้ได้ว่าโค้ดบรรทัดไหนเริ่มทำงานส่วนไหน อย่างไร และอ่านได้ลำบาก ส่วนโปรแกรมที่มีการใช้ฟังก์ชั่นทำงานนั้น จะมีการตั้งชื่อฟังชั่นเพื่อบอกว่าฟังก์ชั่นไหนทำงานอย่างไร เช่น void draw_square() จากชื่อจะทำให้รู้ว่าน่าจะเป็นการวาดรูปสี่เหลี่ยม และเมื่อเราต้องการที่จะทำการแก้ไขคำสั่งในภายหลังเราก็สามารถกลับมาแก้ไขได้ตรงจุดนั้นได้โดยไม่ต้องนั่งไล่หาที่ละคำสั่ง
2. สามารถเรียกใช้ซ้ำได้หลายครั้ง
ตัวอย่างคำสั่ง
void draw_circle() {
take_colorRed();
ellipse(100, 100, 20, 20);
take_colorGreen();
ellipse(150, 180, 20, 20);
take_colorRed();
ellipse(200, 200, 20, 20);
take_colorGreen();
ellipse(100, 180, 30, 30);
ellipse(200, 80, 30, 30);
take_colorGreen();
ellipse(250, 200, 30, 30);
}
void take_colorRed() {
fill(255, 0, 0);
}
void take_colorGreen() {
fill(16, 229, 49);
}
จากตัวอย่าง ในฟังก์ชั่น void draw_circle() จะเป็นการวาดวงกลม และได้มีการเรียกใช้ฟังก์ชั่น take_colorRed(); และ take_colorGreen(); ซึ่งสองฟังก์ชั่นนี้เป็นการทำให้วงกลมที่สร้างมีสีแดงและเขียวดังรูป
3. มีการส่งค่าเพื่อใช้ในฟังก์ชั่น
ตัวอย่างคำสั่ง
void draw_table(int width, int height){
line(50,50,50+width,50);
line(60,50,60,50+height);
line(width+40,50,width+40,50+height);
}
void setup() {
background(255, 255, 255, 255);
size(500, 500);
draw_table(400,50);
}
ดังตัวอย่าง เป็นการส่งค่าเพื่อไปใช้ในฟังก์ชั่น เช่นฟังก์ชั่น draw_table(400,50); ฟังก์ชั่นนี้จะเป็นการวาดรูปโต๊ะและมีการส่งค่าไปสองค่า คือ ความกว้างของโต๊ะ (width) และความสูงของโต๊ะ(height) เมื่อมีการเรียกใช้จะทำการวาดเส้นสามเส้นดังรูป
ตัวอย่างคำสั่ง
void draw_table(int x, int y, int width, int height){
line(x,y,x+width,y);
line(x+10,y,x+10,y+height);
line(width+x-10,y,width+x-10,y+height);
}
void setup() {
background(255, 255, 255, 255);
size(500, 500);
draw_table(100,50,200,100);
}
จากตัวอย่าง เป็นโปรแกรมที่วาดรูปโต๊ะ และเมื่อเรียกใช้ฟังก์ชั่น draw_table(100,50,200,100); เป็นกันส่งค่า x,y,width,height จะทำให้รูปโต๊ะเปลี่ยนที่ไปยังตำแหน่ง x y ที่กำหนดมาจะได้ดังรูป
เมื่อเปลี่ยนค่าที่ส่งเป็น draw_table(200,100,200,100); จะได้ดังรูป
ไม่มีความคิดเห็น:
แสดงความคิดเห็น