วันอังคารที่ 6 สิงหาคม พ.ศ. 2556
-Solar System-
void setup(){
size(500,300);
background(0);
}
int y=150;
int x=0;
int r=1;
int[][] elements={{-140,70,90,120,160,210,270,330,380},{400,5,10,15,13,35,35,25,25}};
//สร้างตัวแปรอาเรย์2มิติ ชนิดจำนวนเต็ม และกำหนดค่า
String[] planet={"Sun","Mercury","Venus","Earth","Mars","Jupiter","Saturn","Uranus","Neptune"};
int[] moon={0,0,0,1,2,66,22,27,13};
void draw(){
smooth();
while(x<planet.length){ //วนลูปเพื่อใช้ในการวาดดาว
drawP(x,r); //เรียกใช้ฟังชัน drawP โดยมีการส่งค่าไปยังฟังก์ชัน drawP
if(x%2==0){ //เงื่อนไขที่ใช้ในการ เขียนข้อความกำกับในดาวแต่ละดวง
text(planet[x],elements[0][x],y-50);
}
else{
text(planet[x],elements[0][x]-5,y+50);
}
drawmoon(); //เรียกใช้ฟังก์ชัน drawmoon()
x=x+1;
}
}
void drawP(int x,int r){ //ฟังก์ชันที่ใช้ในการวาดดาว โดยมีx และ y เป็นparameter
if(x==0){
fill(255,0,0);
}
else if(x==6){
ellipse(elements[0][x],y,70,10); //ตำแน่งของวงกลมในพิกัดxจะเปลี่ยนไปตาม
ค่าที่เราเก็บไว้ในตัวแปลelement[][] ข้างต้น
สังเกตได้จากตัวแปลxที่อยู๋ใน[]
เพราะทุกๆครั้งที่มีการวนลูปค่าxจะเพิ่มขึ้น
}
else{
fill(255);
}
ellipse(elements[0][x],y,elements[r][x],elements[r][x]);
}
void drawmoon(){ //ฟังก์ชันที่ใช้ในการวาดพระจันทร์
int c=0;
while(c<moon[x]){
fill(250,250,100);
ellipse(elements[0][x]+20*cos(c),y+20*sin(c),3,3);
c=c+1;
fill(255);
}
}
//อ้างอิงคำสั่งพื้นฐานต่างๆจาก lab1 http://com5630043.blogspot.com/search/label/lab1
//อ้างอิงอธิบายฟังก์ชันจาก lab2 http://com5630043.blogspot.com/search/label/lab2
//อ้างอิงอธิบายเรื่องif-elseจาก lab3 http://com5630043.blogspot.com/search/label/lab3%20%3A%20Condition
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น