*เมื่อ UFO เคลื่อนที่ครบ 3 รอบ จะหายไป
UFO
|
int x;
int y;
int r1;
int r11;
int r2;
int r21;
int a;
int b;
int i;
|
UFO(int x1,int y1,int ru1,int ru11,int ru2,int ru21,int i1)
showUFO()
|
CODE
int xx=0;
//ประกาศและกำหนดให้ xx เท่ากับ 0
void setup (){
size(250,250);
//ขนาดเอาต์พุต กว้างและยาว 250
}
UFO u = new UFO
(50,30,33,31,80,20,0);
//สร้าง object ชื่อ u
ที่มี parameters คือ (50,30,33,31,80,20)
void draw(){
background(0);
//สีพื้นหลังสีดำ
u.showUFO();
//object ชื่อ u เรียกใช้
method ชื่อ showUFO
}
class UFO{
int x;
//ประกาศ attribute ชื่อ
x ชนิด int
int y;
//ประกาศ attribute ชื่อ
y ชนิด int
int r1;
//ประกาศ attribute ชื่อ
r1 ชนิด int
int r11;
//ประกาศ attribute ชื่อ
r11 ชนิด int
int r2;
//ประกาศ attribute ชื่อ
r2 ชนิด int
int r21;
//ประกาศ attribute ชื่อ
r21 ชนิด int
int
a;
//ประกาศ attribute ชื่อ
a ชนิด int
int b;
//ประกาศ attribute ชื่อ
b ชนิด int
int i;
//ประกาศ attribute ชื่อ
i ชนิด int
UFO(int x1,int y1,int ru1,int ru11,int ru2,int ru21,int
i1){
//constructor คือ method ที่ชื่อเดียวกับ class
this.x=x1;
//กำหนดให้ x มีค่าเท่ากับ
x1
this.y=y1;
//กำหนดให้ y มีค่าเท่ากับ
y1
this.r1=ru1;
//กำหนดให้ r1 มีค่าเท่ากับ
ru1
this.r11=ru11;
//กำหนดให้ r11 มีค่าเท่ากับ
ru11
this.r2=ru2;
//กำหนดให้ r2 มีค่าเท่ากับ
ru2
this.r21=ru21;
//กำหนดให้ r21 มีค่าเท่ากับ
ru21
this.i=i1;
//กำหนดให้ i มีค่าเท่ากับ
i1
}
void showUFO(){
//method ชื่อ showUFO
if((x>=50)&&(x<=200)&&(xx==0)&&(y==30)&&(i<=2)){
//ถ้า x มีค่ามากกว่าหรือเท่ากับ
50 และ น้อยกว่าหรือเท่ากับ 200 และ
xx มีค่าเท่ากับ 0 และ y มีค่าเท่ากับ 30 และ i มีค่าน้อยกว่าหรือเท่ากับ
2
x++;
//กำหนดให้ x มีค่าเพิ่มขึ้น
1
fill(random(255),random(255),random(255));
//สุ่มสี
ellipse(x, y, r1,
r11);
//วงกลมที่พิกัดx,y ขนาด ความกว้าง=r1 ความยาว=r11
fill(173,169,169);
//สีเทา
ellipse(x, y+3, r2,
r21);
//วงกลมที่พิกัดx,y ขนาด ความกว้าง=r2 ความยาว=r21
}
else
if((xx==0)&&(i<=2)){
//ถ้า xx มีค่าเท่ากับ
0 และ i มีค่าน้อยกว่าหรือเท่ากับ 2
y++;
//กำหนดให้ y มีค่าเพิ่มขึ้น
1
fill(random(255),random(255),random(255));
//สุ่มสี
ellipse(x, y, r1,
r11);
//วงกลมที่พิกัดx,y ขนาด ความกว้าง=r1 ความยาว=r11
fill(173,169,169);
//สีเทา
ellipse(x, y+3, r2,
r21);
//วงกลมที่พิกัดx,y ขนาด ความกว้าง=r2 ความยาว=r21
if(y==220){
//ถ้า y มีค่าเท่ากับ 220
xx=1;
//กำหนดให้ xx มีค่าเท่ากับ
1
}
}
else
if((y==220)&&(xx==1)&&(i<=2)){
//ถ้า y มีค่าเทากับ
220 และ xx มีค่าเท่ากับ 1 และ i มีค่าน้อยกว่าหรือเท่ากับ 2
x--;
//กำหนดให้ x มีค่าลดลง 1
fill(random(255),random(255),random(255));
//สุ่มสี
ellipse(x, y, r1,
r11);
//วงกลมที่พิกัดx,y ขนาด ความกว้าง=r1 ความยาว=r11
fill(173,169,169);
//สีเทา
ellipse(x, y+3, r2,
r21);
//วงกลมที่พิกัดx,y ขนาด ความกว้าง=r2 ความยาว=r21
if(x==50){
//ถ้า x มีค่าเท่ากับ 50
xx=2;
//กำหนดให้ xx มีค่าเท่ากับ
2
}
}
else
if((x==50)&&(xx==2)&&(i<=2)){
//ถ้า x มีค่าเทากับ
50 และ xx มีค่าเท่ากับ 2 และ i มีค่าน้อยกว่าหรือเท่ากับ 2
y--;
//กำหนดให้ y มีค่าลดลง 1
fill(random(255),random(255),random(255));
//สุ่มสี
ellipse(x, y, r1,
r11);
//วงกลมที่พิกัดx,y ขนาด ความกว้าง=r1 ความยาว=r11
fill(173,169,169);
//สีเทา
ellipse(x, y+3, r2,
r21);
//วงกลมที่พิกัดx,y ขนาด ความกว้าง=r2 ความยาว=r21
if(y==30){
//ถ้า y มีค่าเท่ากับ 30
xx=0;
//กำหนดให้ xx มีค่าเท่ากับ
0
i++;
//iมีค่าเพิ่มขึ้น1
}
}
}
}