วันจันทร์ที่ 8 กรกฎาคม พ.ศ. 2556
-Boat-
void setup(){
size(300,200);
}
int count=0;
int x=0;
int y=0;
void draw(){
background(220);
drawSky();
drawSea();
drawBoats();
count=count+1; //เป็นการกำหนดให้ค่า c เพิ่มขึ้น 1 ทุกๆครั้งที่มีการ
เรียกใช้ฟังก์ชัน void draw( ){ }
if(count<=170){ //if( ){ }เป็นการกำหนดเงื่อนไข โดยกำหนดเงื่อนไขไว้ใน ( )
ถ้าเงื่อนไขเป็นจริง ให้ทำตามคำสั่งใน { }
x=x+1;
}
if(count<=200){
y=y+1;
}
else{ //else{ } เป็นคำสั่งที่ใช้ต่อจาก if( ){ } โดยคำสั่งจะเริ่มพิจารณา
เงื่อนไขจาก if ก่อนถ้าไม่เป็นจริง จะทำตามคำสั่งของ else ใน { }
x=x-1;
y=y-1;
}
if(count==400){
count=0;
x=0;
y=0;
}
}
void drawSea(){
fill(0,69,215);
rect(0,150,300,100);
}
void drawBoats(){
fill(200);
quad(y+20,130,y+80,130,y+70,150,y+30,150);
noStroke();
fill(255,0,0);
triangle(y+50,95,y+80,120,y+50,120);
stroke(1);
fill(100);
rect(y+45,95,5,35);
quad(x+40,130,x+100,130,x+90,150,x+50,150);
noStroke();
fill(0,255,0);
triangle(x+70,95,x+100,120,x+70,120);
fill(100);
rect(x+65,95,5,35);
}
void drawSky(){
fill(255,50,10);
ellipse(50,150,80,80);
fill(250,255,0);
strokeWeight(10);
stroke(250,255,0);
line(-30,10,10,110);
line(10,10,30,100);
line(50,10,50,90);
line(90,10,70,100);
line(160,10,80,110);
line(230,20,90,120);
line(300,30,100,130);
line(300,90,110,140);
strokeWeight(1);
stroke(0);
}
//ตัวแปล x ใช้ในการเก็บค่าเพื่อให้เรือธงสีเขียวขยับไปซ้ายขวา
//ตัวแปล y ใช้ในการเก็บค่าเพื่อให้เรือธงสีแดงขยับไปซ้ายขวา
ที่กำหนด2ตัวแปลเพราะ จะทำให้เรือรับค่าที่ต่างกัน เพิ่มทำให้เหมือนเรือแซงกัน
//เพิ่มเติม ค่า count ที่เพิ่มขึ้นเปรียบเสมือน เวลาที่เพิ่มขึ้นเรื่อยๆ
จากเงื่อนไขถ้าcount<=170 ค่าxจะบวก 1 เรื่อยๆ ทำให้เรือธงสีเขียวขยับไปทางขวา
จากเงื่อนไขถ้าcount<=200 ค่าyจะบวก 1 เรื่อยๆ ทำให้เรือธงสีแดงขยับไปทางขวา
แต่เมื่อเงื่อนไข count<=170 และ เงื่อนไข count<=200 ไม่เป็นจริง
ค่าx และ y จะลดลงมาเรื่อยๆ ทำให้เรือทั้ง2เคลื่อนที่ไปทางซ้าย
จากข้างต้นเรือธงสีเขียวจะหยุดก่อนเรือธงสีแดงทำให้เวลากลับเรือธงสีเขียวจะนำหน้าเรือธงสีแดง
เมื่อcount==400 จะตรงกับอีกเงื่อนไขนึง
ทำให้ค่า count=0 , x=0, y=0 เป็นการรีเซ็ต ค่าc ,x และ y ให้กลับมาเป็นค่าเริ่มต้น
//อ้างอิงคำสั่งพื้นฐานต่างๆจาก lab1 http://com5630043.blogspot.com/search/label/lab1
//อ้างอิงอธิบายฟังก์ชันจาก lab2 http://com5630043.blogspot.com/search/label/lab2
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น