จากความเดิมตอนที่แล้ว (Lab 1) ยูกิได้ใช้คำสาปดาวหกแฉกผนึก Blue Eye White Dragon ไว้แล้ว
แต่ไคบะไม่ลดละความย่อท้อ โดยการสังเวยมอนสเตอร์อีกหลายๆตัว เพื่อเรียก Blue Eye White Dragon ออกมาอีกให้ครบ 3 ตัว เพื่อที่จะ Fusion กันกลายเป็น Blue Eye Ultimate Dragon !!
"หึ !! ทำอะไรข้าไม่ได้หรอก !! ข้ามีคำสาปดาวหกแฉก 3 ใบ !!" ยูกิได้กล่าวเอาไว้
void setup()
{
// initialization
size(300,300);
background(0);
strokeWeight(4);
stroke(255,255,0);
translate(width/2,height/2);
DrawStar(50,50);
DrawStar(0,-50);
DrawStar(-50,50);
}
void DrawStar(int CenterStarX,int CenterStarY)
{
// variable
int WidthStar,HeightStar;
int d;
int SpaceBetweenCircle=5;
float RVertical,RSqrt,RCircle;
// assign variable
WidthStar = 40;
HeightStar = 40;
d = 20; //space between base of both triangle
SpaceBetweenCircle = 10; //space between inside and outside circle
RVertical = HeightStar/2; //radius from center of star to top vertex of star
RSqrt = sqrt((pow((d/2),2))+(pow((WidthStar/2),2))); //radius from center of star to side vertex of star
if(RVertical > RSqrt)
{
RCircle = RVertical;
}
else
{
RCircle = RSqrt;
}
// draw outside circle
fill(0,120,0);
ellipse(CenterStarX,CenterStarY,(RCircle*2)+(SpaceBetweenCircle*2),(RCircle*2)+(SpaceBetweenCircle*2));
// draw inside circle
fill(0,0,100);
ellipse(CenterStarX,CenterStarY,(RCircle*2),(RCircle*2));
// draw top vertex triangle
noFill();
triangle(CenterStarX,CenterStarY-(HeightStar/2)+3,CenterStarX-(WidthStar/2)+3,CenterStarY+(d/2),CenterStarX+(WidthStar/2)-3,CenterStarY+(d/2));
// draw bottom vertex triangle
noFill();
triangle(CenterStarX,CenterStarY+(HeightStar/2)-3,CenterStarX-(WidthStar/2)+3,CenterStarY-(d/2),CenterStarX+(WidthStar/2)-3,CenterStarY-(d/2));
}
โดยผมนำโค้ดส่วนที่สร้างรูปดาวไปใส่ในฟังก์ชันชื่อ DrawStar โดยมี Parameter เป็นจุดศูนย์กลางของดาว
เมื่อผมเรียกใช้ฟังก์ชัน DrawStar 3 ครั้ง แต่เปลี่ยนค่า Parameter ไม่ให้เหมือนกัน ผมก็ได้ดาว 3 ดวง !!