จาก Lab 1 มีช้อนส้อมอยู่คู่เดียว มันคงไม่ดีถ้าเกิดมีแขกมาบ้านแล้วช้อนส้อมไม่เพียงพอ
งั้นผมจะเพิ่มช้อนซ้อมออกมา ด้วยการใช้ FUNCTIONS !!!!
สร้าง Fuction DrawSpoon(int RefX,int Ref Y); เพื่อวาดช้อน และ DrawFork(int RefX,int RefY); เพื่อวาดส้อม !!!
โดยการปรับ Parameter RefX และ RefY เพื่อกำหนดจุดซ้ายบนของด้ามจับว่าจะอยู่ตรงไหน
Code อยู่นี่ :D
void setup()
{
//Initialization
size(300,500);
background(255);
stroke(3);
fill(180);
DrawSpoon(90,200);
DrawFork(190,200);
DrawSpoon(40,150);
DrawFork(250,100);
DrawSpoon(170,210);
DrawFork(80,130);
DrawSpoon(100,350);
DrawFork(150,350);
DrawSpoon(220,320);
DrawFork(70,300);
}
void DrawSpoon(int RefX,int RefY){
//Spoon Variable
int WSpoon , HSpoon ;
int WSpoonHandle , HSpoonHandle;
//Assign Spoon
WSpoon = 50;
HSpoon = 80;
WSpoonHandle = 20;
HSpoonHandle = 150;
/*
WSpoon = Width of Spoon , HSpoon = Height of Spoon
Reference X , Y at left-top of spoon handle (RefX,RefY)
*/
//Draw Spoon
rect(RefX,RefY,WSpoonHandle,HSpoonHandle); //Draw Spoon's Handle
ellipse(RefX+(WSpoonHandle/2),RefY-(HSpoon/2),WSpoon,HSpoon); //Draw Spoon
}
void DrawFork(int RefX,int RefY){
//Fork Variable
int WFork , HFork ;
int WForkHandle , HForkHandle;
int Space;
//Assign Fork
WFork = 50;
HFork = 80;
WForkHandle = 20;
HForkHandle = 150;
/*
WFork = Width of Fork , HFork = Height of Fork
Reference X , Y at left-top of fork handle (RefX,RefY)
*/
//Draw Fork
rect(RefX,RefY,WForkHandle,HForkHandle); //Draw Fork's Handle
beginShape(); //Draw Fork
vertex(RefX,RefY);
vertex(RefX-((WFork-WForkHandle)/2),RefY);
vertex(RefX-((WFork-WForkHandle)/2),RefY-HFork);
vertex(RefX-((WFork-WForkHandle)/2)+((1*WFork)/5),RefY-HFork);
vertex(RefX-((WFork-WForkHandle)/2)+((1*WFork)/5),RefY-(HFork/2));
vertex(RefX-((WFork-WForkHandle)/2)+((2*WFork)/5),RefY-(HFork/2));
vertex(RefX-((WFork-WForkHandle)/2)+((2*WFork)/5),RefY-HFork);
vertex(RefX-((WFork-WForkHandle)/2)+((3*WFork)/5),RefY-HFork);
vertex(RefX-((WFork-WForkHandle)/2)+((3*WFork)/5),RefY-(HFork/2));
vertex(RefX-((WFork-WForkHandle)/2)+((4*WFork)/5),RefY-(HFork/2));
vertex(RefX-((WFork-WForkHandle)/2)+((4*WFork)/5),RefY-HFork);
vertex(RefX-((WFork-WForkHandle)/2)+WFork,RefY-HFork);
vertex(RefX-((WFork-WForkHandle)/2)+WFork,RefY);
vertex(RefX-((WFork-WForkHandle)/2),RefY);
endShape();
}