boolean[] t = {true,true,false,false,true}; // ประกาศตัวแปรประเภท boolean เก็บค่า True กับ False
void setup() {
size(500,300); // กำหนดขนาดของเฟรมเป็น 500x300
background(255); // กำหนดพื้นหลังเป็นสีขาว
smooth();
}
void draw() {
int r = 80; // ประกาศ และกำหนด ตัว r เป็นค่าของรัศมี
int i = 0; // ประกาศ และกำหนด ตัว i เป็นค่าในการไล่นับ
int x = 90; // ประกาศ และกำหนด ตัว x เป็นค่าตำแหนางของแกน X
while(i<t.length) { // จะเข้าเงื่อนไขเมื่อ i มีค่าน้อยกว่า จำนวนตัวแปรของ t
if(t[i]==true){ // ถ้า t ตัวที่ i มีค่าเป็นจริงแล้ว
fill(255); // ให้ใส่สีวัตถุเป็นสีขาว
Circle(x,r); // เรียกใช้ฟังก์ชัน Circle
x = x + r; // ให้ค่า x เพิ่มขึ้น เท่ากับ x+r
}else{ // ถ้าไม่เข้า if
fill(0); // ให้ใส่สีวัตถุเป็นสีดำ
Circle(x,r); // เรียกใช้ฟังก์ชัน Circle
x = x + r; // ให้ค่า x เพิ่มขึ้น เท่ากับ x+r
}
i++; // เมื่อออกจาก if ให้ i เพิ่มขึ้นทีละ 1
}
}
void Circle(int x, int r) {
ellipse(x, 150, r, r); // วาดวงกลม
}
วันศุกร์ที่ 26 กรกฎาคม พ.ศ. 2556
Some UFO
int x = 0, count = x; // ประกาศ และกำหนดตัวแปรแบบ Global variale
int[] n = {100,200,300}; // ประกาศ และกำหนดตัวแปรแบบ Global variale (Array)
int[] h = {1,2,3}; // ประกาศ และกำหนดตัวแปรแบบ Global variale (Array)
void setup() {
size(600, 400); // กำหนดขนาดจอภาพที่แสดง
smooth();
strokeWeight(5); // กำหนดความหนาของเส้นวัตถุ}
void draw() { // สร้างฟังก์ชันเรียกใช้อัตโนมัติ
background(x, 255, 255); // กำหนดพื้นหลังให้มีค่าเปลี่ยนไปตามค่า x
int i = 0;
while(i<h.length) {
drawUFO(x, n[i], h[i]); // สั่งใช้วานฟังก์ชัน ที่สร้างเองให้วาดวัตถุ
i++;
}
if (count <= 400) { // ใช้คำสั่งเงื่อนไข (if) โดยที่ ถ้า count มีค่าน้อยกว่าหรีลือ 400
x = x + 1; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ เพิ่มขึ้นทีละ 1
count = x; // สั่งให้ count มีค่าเท่ากับ x }
else { // แต่ถ้านอกจากนั้น
x = x - 1; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ ลดลงทีละ 1
count = count + 1; // สั่งให้เพิ่มค่าของ count โดยสั่งให้ เพิ่มขึ้นทีละ 1
}
if (count == 400*2) { // และถ้า count มีค่าเท่ากับ 400*2
count = 0; // ให้ count เท่ากับ 0 }
}
void drawUFO(int x, int y, int n) { // สร้างฟังก์ชันให้วาดวัตถุโดยให้ค่าเป็นตัวแปร
//int y = 300; // ประกาศ และกำหนดตัวแปร y ให้มีค่าเป็นตำแหน่งแกน Y int rx = 100; // ประกาศ และกำหนดตัวแปร rx เพื่อกำหนดรัศมีใแกน X
int ry = 50; // ประกาศ และกำหนดตัวแปร ry เพื่อกำหนดรัศมีใแกน Y
int i = 0; // ประกาศ และกำหนดตัวแปร i เพื่อไล่
while(i<n) {
line(x, y - 70, x, y); // คำสั่งวาดเส้น
fill(255, 0, 0); // ใส่สีพื้นหลังวัตถุ ellipse(x, y - 70, 20, 20); // คำสั่งวาดวงกลม
fill(255, 255, 0); // ใส่สีพื้นหลังวัตถุ
ellipse(x, y - 10, rx - 50, ry); // คำสั่งวาดวงกลม fill(0); // ใส่สีพื้นหลังวัตถุ
ellipse(x, y, rx, ry - 25); // คำสั่งวาดวงกลม x = x + 100; // ให้ x เพิ่มขึ้นทีละ 100
i++; // ให้ i เพิ่มขึ้นทีละ 100
}
}
int[] n = {100,200,300}; // ประกาศ และกำหนดตัวแปรแบบ Global variale (Array)
int[] h = {1,2,3}; // ประกาศ และกำหนดตัวแปรแบบ Global variale (Array)
void setup() {
size(600, 400); // กำหนดขนาดจอภาพที่แสดง
smooth();
strokeWeight(5); // กำหนดความหนาของเส้นวัตถุ}
void draw() { // สร้างฟังก์ชันเรียกใช้อัตโนมัติ
background(x, 255, 255); // กำหนดพื้นหลังให้มีค่าเปลี่ยนไปตามค่า x
int i = 0;
while(i<h.length) {
drawUFO(x, n[i], h[i]); // สั่งใช้วานฟังก์ชัน ที่สร้างเองให้วาดวัตถุ
i++;
}
if (count <= 400) { // ใช้คำสั่งเงื่อนไข (if) โดยที่ ถ้า count มีค่าน้อยกว่าหรีลือ 400
x = x + 1; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ เพิ่มขึ้นทีละ 1
count = x; // สั่งให้ count มีค่าเท่ากับ x }
else { // แต่ถ้านอกจากนั้น
x = x - 1; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ ลดลงทีละ 1
count = count + 1; // สั่งให้เพิ่มค่าของ count โดยสั่งให้ เพิ่มขึ้นทีละ 1
}
if (count == 400*2) { // และถ้า count มีค่าเท่ากับ 400*2
count = 0; // ให้ count เท่ากับ 0 }
}
void drawUFO(int x, int y, int n) { // สร้างฟังก์ชันให้วาดวัตถุโดยให้ค่าเป็นตัวแปร
//int y = 300; // ประกาศ และกำหนดตัวแปร y ให้มีค่าเป็นตำแหน่งแกน Y int rx = 100; // ประกาศ และกำหนดตัวแปร rx เพื่อกำหนดรัศมีใแกน X
int ry = 50; // ประกาศ และกำหนดตัวแปร ry เพื่อกำหนดรัศมีใแกน Y
int i = 0; // ประกาศ และกำหนดตัวแปร i เพื่อไล่
while(i<n) {
line(x, y - 70, x, y); // คำสั่งวาดเส้น
fill(255, 0, 0); // ใส่สีพื้นหลังวัตถุ ellipse(x, y - 70, 20, 20); // คำสั่งวาดวงกลม
fill(255, 255, 0); // ใส่สีพื้นหลังวัตถุ
ellipse(x, y - 10, rx - 50, ry); // คำสั่งวาดวงกลม fill(0); // ใส่สีพื้นหลังวัตถุ
ellipse(x, y, rx, ry - 25); // คำสั่งวาดวงกลม x = x + 100; // ให้ x เพิ่มขึ้นทีละ 100
i++; // ให้ i เพิ่มขึ้นทีละ 100
}
}
วันพฤหัสบดีที่ 25 กรกฎาคม พ.ศ. 2556
Barchart (Calculate max/min/average for your data)
float[ ] l = {64,61,62,88,97,127,130,170,304,316}; // ประกาศตัว l เป็น Array เป็นค่าของข้อมูล
String[ ] name = {"Samut Songkhram","Chumphon","Phangnga","Kamphaeng Phet","Mae Hong Son","Suphan Buri","Uthai Thani","Trat","Phayao","Uttaradit"}; // ประกาศตัว name เป็น Array เป็นชื่อของข้อมูล
String[ ] value = {"64","61","62","88","97","127","130","170","304","316"}; // ประกาศตัว value เป็น Array เก็บค่าของข้อมูลที่เป็นข้อความ
float max = l[0] , min = l[0] , sum = 0 , average; // ประกาศตัวแปรเป็น Global
void setup() {
size(700,650); // คำสั่งกำหนดขนาดของเฟรม
background(255); // คำสั่งกำหนดพื้นหลัง
smooth();
Chart(); // เรียกใช้ฟังก์ชัน
}
void Chart() {
int i = 0;
int h = 25;
int x = 30;
int y = 60;
while(i<l.length){ // จะเข้าเงื่อนไขต่อเมื่อค่า i น้อยกว่าจำนวนของตัวแปร l
fill(random(0,256),random(0,256),random(0,256)); // ใส่พื้นหลังของวัตถุ
rect(x,y,l[i],h); // วาดสี่เหลี่ยม
fill(0); // ใส่พื้นหลังของวัตถุ
textSize(24); // สั่งให้เพิ่มขนาดของตัวหนังสือเป็นขนาด 24
text(name[i],x,y); // สั่งให้แสดงตัวหนังสือบนเฟรมที่ตำแหน่ง (x,y)
text(value[i],x+500,y+20); // สั่งให้แสดงตัวหนังสือบนเฟรมที่ตำแหน่ง (x+500,y+20)
y = y + (h*2); // ให้ y มีค่าเท่ากับ y + (h*2)
if(l[i]<=min) { // จะเข้าเงื่อนไขต่อเมื่อค่า l[i] น้อยกว่าหรือเท่ากับ min
min=l[i]; // ให้ min เท่ากับ l[i]
}
if(l[i]>=max) { // จะเข้าเงื่อนไขต่อเมื่อค่า l[i] มากกว่าหรือเท่ากับ max
max=l[i]; // ให้ max เท่ากับ l[i]
}
sum = sum + l[i]; // ให้ sum มีค่าเท่ากับ sum + l[i]
i++; // เพิ่มค่า i ทีละ 1
}
average = sum/l.length; // ให้ average มีค่าเท่ากับ sum/l.length
text("Average is "+average,180,630); // สั่งให้แสดงตัวหนังสือบนเฟรมที่ตำแหน่ง (180,630)
text("Min is "+min,180,570); // สั่งให้แสดงตัวหนังสือบนเฟรมที่ตำแหน่ง (180,570)
text("Max is "+max,180,600); // สั่งให้แสดงตัวหนังสือบนเฟรมที่ตำแหน่ง (180,600)
text("Provinces with the lowest jobless in 2011",80,30); // สั่งให้แสดงตัวหนังสือบนเฟรมที่ตำแหน่ง (80,30)
}
String[ ] name = {"Samut Songkhram","Chumphon","Phangnga","Kamphaeng Phet","Mae Hong Son","Suphan Buri","Uthai Thani","Trat","Phayao","Uttaradit"}; // ประกาศตัว name เป็น Array เป็นชื่อของข้อมูล
String[ ] value = {"64","61","62","88","97","127","130","170","304","316"}; // ประกาศตัว value เป็น Array เก็บค่าของข้อมูลที่เป็นข้อความ
float max = l[0] , min = l[0] , sum = 0 , average; // ประกาศตัวแปรเป็น Global
void setup() {
size(700,650); // คำสั่งกำหนดขนาดของเฟรม
background(255); // คำสั่งกำหนดพื้นหลัง
smooth();
Chart(); // เรียกใช้ฟังก์ชัน
}
void Chart() {
int i = 0;
int h = 25;
int x = 30;
int y = 60;
while(i<l.length){ // จะเข้าเงื่อนไขต่อเมื่อค่า i น้อยกว่าจำนวนของตัวแปร l
fill(random(0,256),random(0,256),random(0,256)); // ใส่พื้นหลังของวัตถุ
rect(x,y,l[i],h); // วาดสี่เหลี่ยม
fill(0); // ใส่พื้นหลังของวัตถุ
textSize(24); // สั่งให้เพิ่มขนาดของตัวหนังสือเป็นขนาด 24
text(name[i],x,y); // สั่งให้แสดงตัวหนังสือบนเฟรมที่ตำแหน่ง (x,y)
text(value[i],x+500,y+20); // สั่งให้แสดงตัวหนังสือบนเฟรมที่ตำแหน่ง (x+500,y+20)
y = y + (h*2); // ให้ y มีค่าเท่ากับ y + (h*2)
if(l[i]<=min) { // จะเข้าเงื่อนไขต่อเมื่อค่า l[i] น้อยกว่าหรือเท่ากับ min
min=l[i]; // ให้ min เท่ากับ l[i]
}
if(l[i]>=max) { // จะเข้าเงื่อนไขต่อเมื่อค่า l[i] มากกว่าหรือเท่ากับ max
max=l[i]; // ให้ max เท่ากับ l[i]
}
sum = sum + l[i]; // ให้ sum มีค่าเท่ากับ sum + l[i]
i++; // เพิ่มค่า i ทีละ 1
}
average = sum/l.length; // ให้ average มีค่าเท่ากับ sum/l.length
text("Average is "+average,180,630); // สั่งให้แสดงตัวหนังสือบนเฟรมที่ตำแหน่ง (180,630)
text("Min is "+min,180,570); // สั่งให้แสดงตัวหนังสือบนเฟรมที่ตำแหน่ง (180,570)
text("Max is "+max,180,600); // สั่งให้แสดงตัวหนังสือบนเฟรมที่ตำแหน่ง (180,600)
text("Provinces with the lowest jobless in 2011",80,30); // สั่งให้แสดงตัวหนังสือบนเฟรมที่ตำแหน่ง (80,30)
}
วันพฤหัสบดีที่ 18 กรกฎาคม พ.ศ. 2556
Curve stitching
void setup() {
size(500, 500);
smooth();
background(255);
drawline1(0);
}
void drawline1(int x) {
int count = 0;
int s = 2;
int n = height/s;
while(count<n) {
line(0, x, x, height);
line(x, 0, width, x);
x = x + s;
count = count + 1;
}
}
size(500, 500);
smooth();
background(255);
drawline1(0);
}
void drawline1(int x) {
int count = 0;
int s = 2;
int n = height/s;
while(count<n) {
line(0, x, x, height);
line(x, 0, width, x);
x = x + s;
count = count + 1;
}
}
เป็นการใช้คำสั่ง while loop วาดรูปซ้ำๆกัน โดยการกำหนดเงื่อนไขคือ เมื่อ count มีค่า น้อยกว่า ค่า n แล้ว ซึ่งตอนแรก เรากำหนดค่าของ count เป็น 0 ดังนั้นเป็นจริงตามเงื่อนไข จึงสั่งให้วาดเส้น 1 เส้น แล้ววาดเส้นต่ออีก 1 เส้น แล้วให้ x = x + s เป็นการเพิ่นค่าของ x ให้เท่ากับ
x + s แล้วให้ count = count + 1 เป็นการเพิ่นค่าของ count เพิ่มขึ้นอีก 1 แล้วกลับไปเช็คเงื่อนไขต่ออีกรอบ แล้วถ้าเงื่อนไขยังเป็นจริงอยู่ ก็จะวนขึ้นมาทำแบบนี้ไปเรื่อย จนกว่าเงื่อนไขจะเป็นเท็จ หรือก็คือ count มีค่ามากกว่า หรือเท่ากับค่าของ n จึงออกจาก loop แล้วก็คำสั่งต่อไปจนจบ
รูปที่ออกมาก็จะกลายเป็นรูปเส้นโค้งที่สวยงาม
x + s แล้วให้ count = count + 1 เป็นการเพิ่นค่าของ count เพิ่มขึ้นอีก 1 แล้วกลับไปเช็คเงื่อนไขต่ออีกรอบ แล้วถ้าเงื่อนไขยังเป็นจริงอยู่ ก็จะวนขึ้นมาทำแบบนี้ไปเรื่อย จนกว่าเงื่อนไขจะเป็นเท็จ หรือก็คือ count มีค่ามากกว่า หรือเท่ากับค่าของ n จึงออกจาก loop แล้วก็คำสั่งต่อไปจนจบ
รูปที่ออกมาก็จะกลายเป็นรูปเส้นโค้งที่สวยงาม
Mobile
void setup() {
size(500, 750);
smooth();
background(255);
drawMobile(10);
}
void drawMobile(int x) {
int count = 0;
int w = 20;
int n = 20;
int s = 10;
int l = 300;
while(count<n) {
fill(random(0, 256), random(0, 256), random(0, 256));
noStroke();
rect(x, 100, w, l);
x = x + (s+w);
l = l + 20;
count = count + 1;
}
fill(134, 67, 0);
rect(0, 100, width, w);
}
เป็นการใช้คำสั่ง while loop วาดรูปซ้ำๆกัน โดยการกำหนดเงื่อนไขคือ เมื่อ count มีค่า น้อยกว่า ค่า n แล้ว ซึ่งตอนแรก เรากำหนดค่าของ count เป็น 0 ดังนั้นเป็นจริงตามเงื่อนไข จึงสั่งให้วาดสี่เหลี่ยม 1 รูป แล้วให้ x = x + (s+w) เป็นการเพิ่นค่าของ x ให้เท่ากับ (s+w) แล้วให้ count = count + 1 เป็นการเพิ่นค่าของ count เพิ่มขึ้นอีก 1 แล้วกลับไปเช็คเงื่อนไขต่ออีกรอบ แล้วถ้าเงื่อนไขยังเป็นจริงอยู่ ก็จะวนขึ้นมาทำแบบนี้ไปเรื่อย จนกว่าเงื่อนไขจะเป็นเท็จ หรือก็คือ count มีค่ามากกว่า หรือเท่ากับค่าของ n จึงออกจาก loop แล้วก็คำสั่งต่อไปจนจบ รูปที่ออกมาก็จะได้โมบายที่มีปลายยาวขึ้นเรื่อยๆ
size(500, 750);
smooth();
background(255);
drawMobile(10);
}
void drawMobile(int x) {
int count = 0;
int w = 20;
int n = 20;
int s = 10;
int l = 300;
while(count<n) {
fill(random(0, 256), random(0, 256), random(0, 256));
noStroke();
rect(x, 100, w, l);
x = x + (s+w);
l = l + 20;
count = count + 1;
}
fill(134, 67, 0);
rect(0, 100, width, w);
}
เป็นการใช้คำสั่ง while loop วาดรูปซ้ำๆกัน โดยการกำหนดเงื่อนไขคือ เมื่อ count มีค่า น้อยกว่า ค่า n แล้ว ซึ่งตอนแรก เรากำหนดค่าของ count เป็น 0 ดังนั้นเป็นจริงตามเงื่อนไข จึงสั่งให้วาดสี่เหลี่ยม 1 รูป แล้วให้ x = x + (s+w) เป็นการเพิ่นค่าของ x ให้เท่ากับ (s+w) แล้วให้ count = count + 1 เป็นการเพิ่นค่าของ count เพิ่มขึ้นอีก 1 แล้วกลับไปเช็คเงื่อนไขต่ออีกรอบ แล้วถ้าเงื่อนไขยังเป็นจริงอยู่ ก็จะวนขึ้นมาทำแบบนี้ไปเรื่อย จนกว่าเงื่อนไขจะเป็นเท็จ หรือก็คือ count มีค่ามากกว่า หรือเท่ากับค่าของ n จึงออกจาก loop แล้วก็คำสั่งต่อไปจนจบ รูปที่ออกมาก็จะได้โมบายที่มีปลายยาวขึ้นเรื่อยๆ
วันพฤหัสบดีที่ 11 กรกฎาคม พ.ศ. 2556
UFO
int x = 0; // ประกาศ และกำหนดตัวแปร x แบบ Global variale
int count = x; // ประกาศ และกำหนดตัวแปร count แบบ Global variale
void setup() {
size(400, 400); // กำหนดขนาดจอภาพที่แสดง
smooth();
strokeWeight(5); // กำหนดความหนาของเส้นวัตถุ
}
void draw() { // สร้างฟังก์ชันเรียกใช้อัตโนมัติ
background(x, 255, 255); // กำหนดพื้นหลังให้มีค่าเปลี่ยนไปตามค่า x
drawUFO(x); // สั่งใช้วานฟังก์ชัน ที่สร้างเองให้วาดวตถุ
if (count <= 400) { // ใช้คำสั่งเงื่อนไข (if) โดยที่ ถ้า count มีค่าน้อยกว่าหรีลือ 400
x = x + 1; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ เพิ่มขึ้นทีละ 1
count = x; // สั่งให้ count มีค่าเท่ากับ x
}
else { // แต่ถ้านอกจากนั้น
x = x - 1; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ ลดลงทีละ 1
count = count + 1; // สั่งให้เพิ่มค่าของ count โดยสั่งให้ เพิ่มขึ้นทีละ 1
}
if (count == 400*2) { // และถ้า count มีค่าเท่ากับ 400*2
count = 0; // ให้ count เท่ากับ 0
}
}
void drawUFO(int x) { // สร้างฟังก์ชันให้วาดวัตถุโดยให้ค่าเป็นตัวแปร
int y = 250; // ประกาศ และกำหนดตัวแปร y ให้มีค่าเป็นตำแหน่งแกน Y
int rx = 200; // ประกาศ และกำหนดตัวแปร rx เพื่อกำหนดรัศมีใแกน X
int ry = 100; // ประกาศ และกำหนดตัวแปร ry เพื่อกำหนดรัศมีใแกน Y
line(x, y - 120, x, y); // คำสั่งวาดเส้น
fill(255, 0, 0); // ใส่สีพื้นหลังวัตถุ
ellipse(x, y - 120, 20, 20); // คำสั่งวาดวงกลม
fill(255, 255, 0); // ใส่สีพื้นหลังวัตถุ
ellipse(x, y - 30, rx - 100, ry); // คำสั่งวาดวงกลม
fill(0); // ใส่สีพื้นหลังวัตถุ
ellipse(x, y, rx, ry - 50); // คำสั่งวาดวงกลม
}
Like (If)
int y = 70; // ประกาศ และกำหนดตัวแปร y ให้เป็นค่าแกน Y โดยกำหนดเป็น Global variable
void setup() {
size(300, 300); // กำหนดขนาดของจอที่แสดง
smooth();
drawMountain(90, 250, 300); // สั่งใช้วานฟังก์ชัน ที่สร้างเองให้วาดวัตถุ โดยกำหนดค่าคงที่
drawSun(220, 50, 50); // สั่งใช้วานฟังก์ชัน ที่สร้างเองให้วาดวัตถุ โดยกำหนดค่าคงที่
}
void draw() { // สร้างฟังก์ชันเรียกใช้อัตโนมัติ
int x = 95; // ประกาศ และกำหนดตัวแปร x ให้เป็นค่าแกน X
int r = 50; // ประกาศ และกำหนดตัวแปร r ให้เป็นค่ารัศมีของวัตถุ
y = y + 5; // สั่งให้ y เพิ่มขึ้นทีละ 5
drawWater(150, 370, 270); // สั่งใช้วานฟังก์ชัน ที่สร้างเองให้วาดวัตถุ โดยกำหนดค่าคงที่
fill(y-10, 255, 255); // ใส่สีพื้นหลังวัตถุ ให้เปลี่ยนไปตามค่าของ y
drawWaterfall (x, y, r); // สั่งใช้วานฟังก์ชัน ที่สร้างเองให้วาดวัตถุ โดยกำหนดค่าของตัวแปร
if(y > 300) { // ใช้คำสั่งเงื่อนไข (if) โดยที่ ถ้า y มีค่ามากกว่า 320
y = 70; // ก็จะให้ x = 70
}
}
void drawWaterfall (int x, int y, int r) { // สร้างฟังก์ชันให้วาดวัตถุโดยให้ค่าเป็นตัวแปร
strokeWeight(2); // คำสั่งให้เส้นวัตถุหนาขึ้น
stroke(255); // คำสั่งให้เส้นวัตถุเป็นสีขาว
ellipse(x, y, r, r); // คำสั่งวาดวงกลม
}
void drawWater(int x, int y, int r) { // สร้างฟังก์ชันให้วาดวัตถุโดยให้ค่าเป็นตัวแปร
fill(0, 250, 250); // ใส่สีพื้นหลังวัตถุ
noStroke(); // คำสั่งให้เส้นวัตถุไม่มี
ellipse(x, y, r+100, r); // คำสั่งวาดวงกลม
}
void drawMountain(int x, int y, int r) { // สร้างฟังก์ชันให้วาดวัตถุโดยให้ค่าเป็นตัวแปร
int s = 50 ; // ประกาศ และกำหนดตัวแปร s เป็นค่าความห่างของวัตถุ
fill(0, 255, 0); // ใส่สีพื้นหลังวัตถุ
ellipse(x, y, r, r+100); // คำสั่งวาดวงกลม
ellipse((x+r)-s, y, r, r+100); // คำสั่งวาดวงกลม
}
void drawSun(int x, int y, int r) { // สร้างฟังก์ชันให้วาดวัตถุโดยให้ค่าเป็นตัวแปร
fill(242, 190, 13); // ใส่สีพื้นหลังวัตถุ
ellipse(x, y, r, r); // คำสั่งวาดวงกลม
}
น้ำตกไหลเรื่อยๆๆๆๆๆๆ
void setup() {
size(300, 300); // กำหนดขนาดของจอที่แสดง
smooth();
drawMountain(90, 250, 300); // สั่งใช้วานฟังก์ชัน ที่สร้างเองให้วาดวัตถุ โดยกำหนดค่าคงที่
drawSun(220, 50, 50); // สั่งใช้วานฟังก์ชัน ที่สร้างเองให้วาดวัตถุ โดยกำหนดค่าคงที่
}
void draw() { // สร้างฟังก์ชันเรียกใช้อัตโนมัติ
int x = 95; // ประกาศ และกำหนดตัวแปร x ให้เป็นค่าแกน X
int r = 50; // ประกาศ และกำหนดตัวแปร r ให้เป็นค่ารัศมีของวัตถุ
y = y + 5; // สั่งให้ y เพิ่มขึ้นทีละ 5
drawWater(150, 370, 270); // สั่งใช้วานฟังก์ชัน ที่สร้างเองให้วาดวัตถุ โดยกำหนดค่าคงที่
fill(y-10, 255, 255); // ใส่สีพื้นหลังวัตถุ ให้เปลี่ยนไปตามค่าของ y
drawWaterfall (x, y, r); // สั่งใช้วานฟังก์ชัน ที่สร้างเองให้วาดวัตถุ โดยกำหนดค่าของตัวแปร
if(y > 300) { // ใช้คำสั่งเงื่อนไข (if) โดยที่ ถ้า y มีค่ามากกว่า 320
y = 70; // ก็จะให้ x = 70
}
}
void drawWaterfall (int x, int y, int r) { // สร้างฟังก์ชันให้วาดวัตถุโดยให้ค่าเป็นตัวแปร
strokeWeight(2); // คำสั่งให้เส้นวัตถุหนาขึ้น
stroke(255); // คำสั่งให้เส้นวัตถุเป็นสีขาว
ellipse(x, y, r, r); // คำสั่งวาดวงกลม
}
void drawWater(int x, int y, int r) { // สร้างฟังก์ชันให้วาดวัตถุโดยให้ค่าเป็นตัวแปร
fill(0, 250, 250); // ใส่สีพื้นหลังวัตถุ
noStroke(); // คำสั่งให้เส้นวัตถุไม่มี
ellipse(x, y, r+100, r); // คำสั่งวาดวงกลม
}
void drawMountain(int x, int y, int r) { // สร้างฟังก์ชันให้วาดวัตถุโดยให้ค่าเป็นตัวแปร
int s = 50 ; // ประกาศ และกำหนดตัวแปร s เป็นค่าความห่างของวัตถุ
fill(0, 255, 0); // ใส่สีพื้นหลังวัตถุ
ellipse(x, y, r, r+100); // คำสั่งวาดวงกลม
ellipse((x+r)-s, y, r, r+100); // คำสั่งวาดวงกลม
}
void drawSun(int x, int y, int r) { // สร้างฟังก์ชันให้วาดวัตถุโดยให้ค่าเป็นตัวแปร
fill(242, 190, 13); // ใส่สีพื้นหลังวัตถุ
ellipse(x, y, r, r); // คำสั่งวาดวงกลม
}
น้ำตกไหลเรื่อยๆๆๆๆๆๆ
Like (Function)
int y = 70; // ประกาศ และกำหนดตัวแปร y ให้เป็นค่าแกน Y โดยกำหนดเป็น Global variable
น้ำตกๆๆๆๆๆๆ
void setup() {
size(300, 300); // กำหนดขนาดของจอที่แสดง
smooth();
drawMountain(90, 250, 300); // สั่งใช้วานฟังก์ชัน ที่สร้างเองให้วาดวัตถุ โดยกำหนดค่าคงที่
drawSun(220, 50, 50); // สั่งใช้วานฟังก์ชัน ที่สร้างเองให้วาดวัตถุ โดยกำหนดค่าคงที่
}
void draw() { // สร้างฟังก์ชันเรียกใช้อัตโนมัติ
int x = 95; // ประกาศ และกำหนดตัวแปร x ให้เป็นค่าแกน X
int r = 50; // ประกาศ และกำหนดตัวแปร r ให้เป็นค่ารัศมีของวัตถุ
y = y + 5; // สั่งให้ y เพิ่มขึ้นทีละ 5
drawWater(150, 370, 270); // สั่งใช้วานฟังก์ชัน ที่สร้างเองให้วาดวัตถุ โดยกำหนดค่าคงที่
fill(y-10, 255, 255); // ใส่สีพื้นหลังวัตถุ ให้เปลี่ยนไปตามค่าของ y
drawWaterfall (x, y, r); // สั่งใช้วานฟังก์ชัน ที่สร้างเองให้วาดวัตถุ โดยกำหนดค่าของตัวแปร
}
void drawWaterfall (int x, int y, int r) { // สร้างฟังก์ชันให้วาดวัตถุโดยให้ค่าเป็นตัวแปร
strokeWeight(2); // คำสั่งให้เส้นวัตถุหนาขึ้น
stroke(255); // คำสั่งให้เส้นวัตถุเป็นสีขาว
ellipse(x, y, r, r); // คำสั่งวาดวงกลม
}
void drawWater(int x, int y, int r) { // สร้างฟังก์ชันให้วาดวัตถุโดยให้ค่าเป็นตัวแปร
fill(0, 250, 250); // ใส่สีพื้นหลังวัตถุ
noStroke(); // คำสั่งให้เส้นวัตถุไม่มี
ellipse(x, y, r+100, r); // คำสั่งวาดวงกลม
}
void drawMountain(int x, int y, int r) { // สร้างฟังก์ชันให้วาดวัตถุโดยให้ค่าเป็นตัวแปร
int s = 50 ; // ประกาศ และกำหนดตัวแปร s เป็นค่าความห่างของวัตถุ
fill(0, 255, 0); // ใส่สีพื้นหลังวัตถุ
ellipse(x, y, r, r+100); // คำสั่งวาดวงกลม
ellipse((x+r)-s, y, r, r+100); // คำสั่งวาดวงกลม
}
void drawSun(int x, int y, int r) { // สร้างฟังก์ชันให้วาดวัตถุโดยให้ค่าเป็นตัวแปร
fill(242, 190, 13); // ใส่สีพื้นหลังวัตถุ
ellipse(x, y, r, r); // คำสั่งวาดวงกลม
}
น้ำตกๆๆๆๆๆๆ
Sport (If)
int xa = 0; // ประกาศ และกำหนดตัวแปร xa แบบ Global variale
void setup() {
size(500, 500); // กำหนดขนาดของจอที่แสดง
smooth();
strokeWeight(3);
}
void draw() { // สร้างฟังก์ชันเรียกใช้อัตโนมัติ
background(255, 255, 255); // ใส่เพิ่มหลัง
int x = 430; // ประกาศ และกำหนดตัวแปร x ให้เป็นค่าแกน X
int y = 250; // ประกาศ และกำหนดตัวแปร y ให้เป็นค่าแกน Y
int rx = 100; // ประกาศ และกำหนดตัวแปร rx เพื่อกำหนดรัศมีใแกน X
int ry = 250; // ประกาศ และกำหนดตัวแปร ry เพื่อกำหนดรัศมีใแกน Y
drawTarget(x, y, rx, ry); // สั่งใช้วานฟังก์ชัน ที่สร้างเองให้วาดวัตถุ
drawArrow(); // สั่งใช้วานฟังก์ชัน ที่สร้างเองให้วาดวัตถุ อีกอัน
xa = xa + 5; // สั่งให้ xa เพิ่มขึ้นทีละ 5
if(xa > 430) { // ใช้คำสั่งเงื่อนไข (if) โดย ถ้าค่าของ xa มีค่ามากกว่า 430
xa = 430; // ก็จะสั่งให้ xa มีค่าเท่ากับ 430 เพื่อให้หยุด
}
}
void drawTarget(int x, int y, int rx, int ry) { // สร้างฟังก์ชันให้วาดวัตถุโดยให้ค่าเป็นตัวแปร
int s = 20; // ประกาศ และกำหนดตัวแปร s เป็นค่าความห่างของวัตถุ
fill(255, 255, 255); // ใส่สีพื้นหลังวัตถุ
ellipse(x, y, rx, ry); // คำสั่งวาดวงกลม
rx = rx - s; // สั่งให้เพิ่มค่าของ rx โดยสั่งให้ rx = rx - s
ry = ry - s; // สั่งให้เพิ่มค่าของ ry โดยสั่งให้ ry = ry - s
fill(0, 0, 0); // ใส่สีพื้นหลังวัตถุ
ellipse(x, y, rx, ry); // คำสั่งวาดวงกลม
rx = rx - s; // สั่งให้เพิ่มค่าของ rx โดยสั่งให้ rx = rx - s
ry = ry - s; // สั่งให้เพิ่มค่าของ ry โดยสั่งให้ ry = ry - s
fill(0, 0, 255); // ใส่สีพื้นหลังวัตถุ
ellipse(x, y, rx, ry); // คำสั่งวาดวงกลม
rx = rx - s; // สั่งให้เพิ่มค่าของ rx โดยสั่งให้ rx = rx - s
ry = ry - s; // สั่งให้เพิ่มค่าของ ry โดยสั่งให้ ry = ry - s
fill(255, 0, 0); // ใส่สีพื้นหลังวัตถุ
ellipse(x, y, rx, ry); // คำสั่งวาดวงกลม
}
void drawArrow() {
int y = 250; // ประกาศ และกำหนดตัวแปร y ให้เป็นค่าแกน Y
int l = 150; // ประกาศ และกำหนดตัวแปร l ให้เป็นค่าความยาววัตถุ
line(xa, y, xa-l, y); // วาดเส้น
fill(255, 255, 0); // ใส่สีพื้นหลังวัตถุ
triangle(xa, y, xa-20, y+10, xa-20, y-10); // คำสั่งวาดสามเหลี่ยม
}
เย้ๆๆๆๆๆ ยิงโดนแล้วนะจ๊ะ อ่าาาาาาาาาา :)
void setup() {
size(500, 500); // กำหนดขนาดของจอที่แสดง
smooth();
strokeWeight(3);
}
void draw() { // สร้างฟังก์ชันเรียกใช้อัตโนมัติ
background(255, 255, 255); // ใส่เพิ่มหลัง
int x = 430; // ประกาศ และกำหนดตัวแปร x ให้เป็นค่าแกน X
int y = 250; // ประกาศ และกำหนดตัวแปร y ให้เป็นค่าแกน Y
int rx = 100; // ประกาศ และกำหนดตัวแปร rx เพื่อกำหนดรัศมีใแกน X
int ry = 250; // ประกาศ และกำหนดตัวแปร ry เพื่อกำหนดรัศมีใแกน Y
drawTarget(x, y, rx, ry); // สั่งใช้วานฟังก์ชัน ที่สร้างเองให้วาดวัตถุ
drawArrow(); // สั่งใช้วานฟังก์ชัน ที่สร้างเองให้วาดวัตถุ อีกอัน
xa = xa + 5; // สั่งให้ xa เพิ่มขึ้นทีละ 5
if(xa > 430) { // ใช้คำสั่งเงื่อนไข (if) โดย ถ้าค่าของ xa มีค่ามากกว่า 430
xa = 430; // ก็จะสั่งให้ xa มีค่าเท่ากับ 430 เพื่อให้หยุด
}
}
void drawTarget(int x, int y, int rx, int ry) { // สร้างฟังก์ชันให้วาดวัตถุโดยให้ค่าเป็นตัวแปร
int s = 20; // ประกาศ และกำหนดตัวแปร s เป็นค่าความห่างของวัตถุ
fill(255, 255, 255); // ใส่สีพื้นหลังวัตถุ
ellipse(x, y, rx, ry); // คำสั่งวาดวงกลม
rx = rx - s; // สั่งให้เพิ่มค่าของ rx โดยสั่งให้ rx = rx - s
ry = ry - s; // สั่งให้เพิ่มค่าของ ry โดยสั่งให้ ry = ry - s
fill(0, 0, 0); // ใส่สีพื้นหลังวัตถุ
ellipse(x, y, rx, ry); // คำสั่งวาดวงกลม
rx = rx - s; // สั่งให้เพิ่มค่าของ rx โดยสั่งให้ rx = rx - s
ry = ry - s; // สั่งให้เพิ่มค่าของ ry โดยสั่งให้ ry = ry - s
fill(0, 0, 255); // ใส่สีพื้นหลังวัตถุ
ellipse(x, y, rx, ry); // คำสั่งวาดวงกลม
rx = rx - s; // สั่งให้เพิ่มค่าของ rx โดยสั่งให้ rx = rx - s
ry = ry - s; // สั่งให้เพิ่มค่าของ ry โดยสั่งให้ ry = ry - s
fill(255, 0, 0); // ใส่สีพื้นหลังวัตถุ
ellipse(x, y, rx, ry); // คำสั่งวาดวงกลม
}
void drawArrow() {
int y = 250; // ประกาศ และกำหนดตัวแปร y ให้เป็นค่าแกน Y
int l = 150; // ประกาศ และกำหนดตัวแปร l ให้เป็นค่าความยาววัตถุ
line(xa, y, xa-l, y); // วาดเส้น
fill(255, 255, 0); // ใส่สีพื้นหลังวัตถุ
triangle(xa, y, xa-20, y+10, xa-20, y-10); // คำสั่งวาดสามเหลี่ยม
}
เย้ๆๆๆๆๆ ยิงโดนแล้วนะจ๊ะ อ่าาาาาาาาาา :)
Sport (Function)
int xa = 0; // ประกาศ และกำหนดตัวแปร xa แบบ Global variale
ยิงไม่โดน 555 :)
void setup() {
size(500, 500); // กำหนดขนาดของจอที่แสดง
smooth();
strokeWeight(3);
}
void draw() { // สร้างฟังก์ชันเรียกใช้อัตโนมัติ
background(255, 255, 255); // ใส่เพิ่มหลัง
int x = 430; // ประกาศ และกำหนดตัวแปร x ให้เป็นค่าแกน X
int y = 250; // ประกาศ และกำหนดตัวแปร y ให้เป็นค่าแกน Y
int rx = 100; // ประกาศ และกำหนดตัวแปร rx เพื่อกำหนดรัศมีใแกน X
int ry = 250; // ประกาศ และกำหนดตัวแปร ry เพื่อกำหนดรัศมีใแกน Y
drawTarget(x, y, rx, ry); // สั่งใช้วานฟังก์ชัน ที่สร้างเองให้วาดวัตถุ
drawArrow(); // สั่งใช้วานฟังก์ชัน ที่สร้างเองให้วาดวัตถุ อีกอัน
xa = xa + 5; // สั่งให้ xa เพิ่มขึ้นทีละ 5
}
void drawTarget(int x, int y, int rx, int ry) { // สร้างฟังก์ชันให้วาดวัตถุโดยให้ค่าเป็นตัวแปร
int s = 20; // ประกาศ และกำหนดตัวแปร s เป็นค่าความห่างของวัตถุ
fill(255, 255, 255); // ใส่สีพื้นหลังวัตถุ
ellipse(x, y, rx, ry); // คำสั่งวาดวงกลม
rx = rx - s; // สั่งให้เพิ่มค่าของ rx โดยสั่งให้ rx = rx - s
ry = ry - s; // สั่งให้เพิ่มค่าของ ry โดยสั่งให้ ry = ry - s
fill(0, 0, 0); // ใส่สีพื้นหลังวัตถุ
ellipse(x, y, rx, ry); // คำสั่งวาดวงกลม
rx = rx - s; // สั่งให้เพิ่มค่าของ rx โดยสั่งให้ rx = rx - s
ry = ry - s; // สั่งให้เพิ่มค่าของ ry โดยสั่งให้ ry = ry - s
fill(0, 0, 255); // ใส่สีพื้นหลังวัตถุ
ellipse(x, y, rx, ry); // คำสั่งวาดวงกลม
rx = rx - s; // สั่งให้เพิ่มค่าของ rx โดยสั่งให้ rx = rx - s
ry = ry - s; // สั่งให้เพิ่มค่าของ ry โดยสั่งให้ ry = ry - s
fill(255, 0, 0); // ใส่สีพื้นหลังวัตถุ
ellipse(x, y, rx, ry); // คำสั่งวาดวงกลม
}
void drawArrow() {
int y = 250; // ประกาศ และกำหนดตัวแปร y ให้เป็นค่าแกน Y
int l = 150; // ประกาศ และกำหนดตัวแปร l ให้เป็นค่าความยาววัตถุ
line(xa, y, xa-l, y); // วาดเส้น
fill(255, 255, 0); // ใส่สีพื้นหลังวัตถุ
triangle(xa, y, xa-20, y+10, xa-20, y-10); // คำสั่งวาดสามเหลี่ยม
}
Music (IF)
int x = -50; // ประกาศ และกำหนดตัวแปร x แบบ Global variale
void setup() {
size(300, 300); // กำหนดขนาดจอภาพที่แสดง
smooth();
}
void draw() { // สร้างฟังก์ชันเรียกใช้อัตโนมัติ
int rx = 75; // ประกาศ และกำหนดตัวแปร rx เพื่อกำหนดรัศมีใแกน X
int ry = 45; // ประกาศ และกำหนดตัวแปร ry เพื่อกำหนดรัศมีใแกน Y
int y = 180; // ประกาศ และกำหนดตัวแปร y ให้มีค่าเป็นตำแหน่งแกน Y
x = x + 5; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ เพิ่มขึ้นทีละ 5
w = w + 0.2; // สั่งให้เพิ่มค่าของ w โดยสั่งให้ เพิ่มขึ้มทีละ 0.2
strokeWeight(w); // กำหนดความหนาองเส้นวัตถุให้ขึ้นโดยใส่เป็นค่าตัวแปร
background(x, y, x + y); // กำหนดพื้นหลังให้มีค่าเปลี่ยนไปตามค่า xและ y
drawNote(x, y, rx, ry); // สั่งใช้วานฟังก์ชัน ที่สร้างเองให้วาดวตถุ
if(x > 350) { // ใช้คำสั่งเงื่อนไข (if) โดยที่ ถ้า x มีค่ามากกว่า 350
x = -50; // ก็จะให้ x = -50
}else{
if(w > 15) { // และถ้า w มากกว่า 50 แล้ว
w = 1; ก็จะให้ w = 1
}
}
void drawNote(int x, int y, int rx, int ry){ // สร้างฟังก์ชันให้วาดวัตถุโดยให้ค่าเป็นตัวแปร
int h = 105; // ประกาศ และกำหนดตัวแปร h เป็นค่าความสูงวัตถุ
int s = 75; // ประกาศ และกำหนดตัวแปร s เป็นค่าความห่างของวัตถุ
fill(0, 0, 0); // ใส่สีพื้นหลังวัตถุ
ellipse(x, y, rx, ry); // คำสั่งวาดวงกลม
x = x + (rx/2); // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + (rx/2)
line(x, y - h, x + (rx/2) + s, y - h); // วาดเส้น
line(x, y - h, x, y); // วาดเส้น
x = x + s; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + s
ellipse(x, y, rx, ry); // คำสั่งวาดวงกลม
x = x + (rx/2); // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + (rx/2) อีกครั้ง
line(x, y - h, x, y); // วาดเส้น
float w = 1; // ประกาศ และกำหนดตัวแปร w แบบ Global variale
//*** float เป็นชนิดตัวแปรที่เก็บค่าที่เป็นทศนิยม
void setup() {
size(300, 300); // กำหนดขนาดจอภาพที่แสดง
smooth();
}
void draw() { // สร้างฟังก์ชันเรียกใช้อัตโนมัติ
int rx = 75; // ประกาศ และกำหนดตัวแปร rx เพื่อกำหนดรัศมีใแกน X
int ry = 45; // ประกาศ และกำหนดตัวแปร ry เพื่อกำหนดรัศมีใแกน Y
int y = 180; // ประกาศ และกำหนดตัวแปร y ให้มีค่าเป็นตำแหน่งแกน Y
x = x + 5; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ เพิ่มขึ้นทีละ 5
w = w + 0.2; // สั่งให้เพิ่มค่าของ w โดยสั่งให้ เพิ่มขึ้มทีละ 0.2
strokeWeight(w); // กำหนดความหนาองเส้นวัตถุให้ขึ้นโดยใส่เป็นค่าตัวแปร
background(x, y, x + y); // กำหนดพื้นหลังให้มีค่าเปลี่ยนไปตามค่า xและ y
drawNote(x, y, rx, ry); // สั่งใช้วานฟังก์ชัน ที่สร้างเองให้วาดวตถุ
if(x > 350) { // ใช้คำสั่งเงื่อนไข (if) โดยที่ ถ้า x มีค่ามากกว่า 350
x = -50; // ก็จะให้ x = -50
}else{
if(w > 15) { // และถ้า w มากกว่า 50 แล้ว
w = 1; ก็จะให้ w = 1
}
}
void drawNote(int x, int y, int rx, int ry){ // สร้างฟังก์ชันให้วาดวัตถุโดยให้ค่าเป็นตัวแปร
int h = 105; // ประกาศ และกำหนดตัวแปร h เป็นค่าความสูงวัตถุ
int s = 75; // ประกาศ และกำหนดตัวแปร s เป็นค่าความห่างของวัตถุ
fill(0, 0, 0); // ใส่สีพื้นหลังวัตถุ
ellipse(x, y, rx, ry); // คำสั่งวาดวงกลม
x = x + (rx/2); // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + (rx/2)
line(x, y - h, x + (rx/2) + s, y - h); // วาดเส้น
line(x, y - h, x, y); // วาดเส้น
x = x + s; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + s
ellipse(x, y, rx, ry); // คำสั่งวาดวงกลม
x = x + (rx/2); // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + (rx/2) อีกครั้ง
line(x, y - h, x, y); // วาดเส้น
Music (Function)
void setup() {
size(300, 300); // กำหนดขนาดจอภาพที่แสดง
smooth();
strokeWeight(5); // กำหนดความหนาองเส้นวัตถุให้ขึ้น
}
void draw() { // สร้างฟังก์ชันเรียกใช้อัตโนมัติ
int x = mouseX; // ประกาศ และกำหนดตัวแปร x ให้มีค่าตามตำแหน่งเมาส์ในแกน X
int y = mouseY; // ประกาศ และกำหนดตัวแปร y ให้มีค่าตามตำแหน่งเมาส์ในแกน Y
int rx = 50; // ประกาศ และกำหนดตัวแปร rx เพื่อกำหนดรัศมีใแกน X
int ry = 30; // ประกาศ และกำหนดตัวแปร ry เพื่อกำหนดรัศมีใแกน Y
background(x, y, x + y); // กำหนดพื้นหลังให้มีค่าเปลี่ยนไปตามค่า xและ y
drawNote(x, y, rx, ry); // สั่งใช้วานฟังก์ชัน ที่สร้างเองให้วาดวัตถุ
}
void drawNote(int x, int y, int rx, int ry){ // สร้างฟังก์ชันให้วาดวัตถุโดยให้ค่าเป็นตัวแปร
int h = 70; // ประกาศ และกำหนดตัวแปร h เป็นค่าความสูงวัตถุ
int s = 50; // ประกาศ และกำหนดตัวแปร s เป็นค่าความห่างของวัตถุ
fill(0, 0, 0); // ใส่สีพื้นหลังวัตถุ
ellipse(x, y, rx, ry); // คำสั่งวาดวงกลม
x = x + (rx/2); // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + (rx/2)
line(x, y - h, x + (rx/2) + s, y - h); // วาดเส้น
line(x, y - h, x, y); // วาดเส้น
x = x + s; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + s
ellipse(x, y, rx, ry); // คำสั่งวาดวงกลม
x = x + (rx/2); // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + (rx/2) อีกครั้ง
line(x, y - h, x, y); // วาดเส้น
}
size(300, 300); // กำหนดขนาดจอภาพที่แสดง
smooth();
strokeWeight(5); // กำหนดความหนาองเส้นวัตถุให้ขึ้น
}
void draw() { // สร้างฟังก์ชันเรียกใช้อัตโนมัติ
int x = mouseX; // ประกาศ และกำหนดตัวแปร x ให้มีค่าตามตำแหน่งเมาส์ในแกน X
int y = mouseY; // ประกาศ และกำหนดตัวแปร y ให้มีค่าตามตำแหน่งเมาส์ในแกน Y
int rx = 50; // ประกาศ และกำหนดตัวแปร rx เพื่อกำหนดรัศมีใแกน X
int ry = 30; // ประกาศ และกำหนดตัวแปร ry เพื่อกำหนดรัศมีใแกน Y
background(x, y, x + y); // กำหนดพื้นหลังให้มีค่าเปลี่ยนไปตามค่า xและ y
drawNote(x, y, rx, ry); // สั่งใช้วานฟังก์ชัน ที่สร้างเองให้วาดวัตถุ
}
void drawNote(int x, int y, int rx, int ry){ // สร้างฟังก์ชันให้วาดวัตถุโดยให้ค่าเป็นตัวแปร
int h = 70; // ประกาศ และกำหนดตัวแปร h เป็นค่าความสูงวัตถุ
int s = 50; // ประกาศ และกำหนดตัวแปร s เป็นค่าความห่างของวัตถุ
fill(0, 0, 0); // ใส่สีพื้นหลังวัตถุ
ellipse(x, y, rx, ry); // คำสั่งวาดวงกลม
x = x + (rx/2); // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + (rx/2)
line(x, y - h, x + (rx/2) + s, y - h); // วาดเส้น
line(x, y - h, x, y); // วาดเส้น
x = x + s; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + s
ellipse(x, y, rx, ry); // คำสั่งวาดวงกลม
x = x + (rx/2); // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + (rx/2) อีกครั้ง
line(x, y - h, x, y); // วาดเส้น
}
เป็นการใช้ฟังก์ชัน ซึ่งจะทำให้โค้ดเราดูง่ายและเป็นระเบียบมากขึ้น และทำให้วัตถเคลื่อนที่โดยการใช้คำสั่ง mouseX และ mouseY
Art (IF)
int y = -10; // ประกาศ และกำหนดตัวแปร y แบบ Global variale
void setup() {
size(300, 300); // กำหนดขนาดของจอที่แสดง
smooth(); // ใช้คำสั่ง smooth ให้งานมีความสวยงายขึ้น
noStroke(); // ใช้คำสั่ง noStroke ไม่วาดเส้นขอบ
background(255, 255, 255); // ใส่เพิ่มหลัง
}
void draw() { // สร้างฟังก์ชันเรียกใช้อัตโนมัติ
int x = 25; // ประกาศ และกำหนดตัวแปร x ให้เป็นค่าแกน X
int r = 50; // ประกาศ และกำหนดตัวแปร r ให้เป็นค่ารัศมี
y = y + 5; // สั่งให้ y เพิ่มขึ้นทีละ 5
fill(255, 0, 0); // ใส่สีพื้นหลังวัตถุ
drawCircle(x, y, r); // สั่งใช้ฟังก์ชัน drawCircle เพื่อวาด
x = x + r; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + r
drawCircle(x, y, r); // สั่งใช้ฟังก์ชัน drawCircle เพื่อวาด อีกครั้ง
x = x + r; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + r อีกครั้ง
drawCircle(x, y, r); // สั่งใช้ฟังก์ชัน drawCircle เพื่อวาด อีกครั้ง
x = x + r; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + r อีกครั้ง
drawCircle(x, y, r); // สั่งใช้ฟังก์ชัน drawCircle เพื่อวาด อีกครั้ง
x = x + r; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + r อีกครั้ง
drawCircle(x, y, r); // สั่งใช้ฟังก์ชัน drawCircle เพื่อวาด อีกครั้ง
x = x + r; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + r อีกครั้ง
drawCircle(x, y, r); // สั่งใช้ฟังก์ชัน drawCircle เพื่อวาด อีกครั้ง
if(y>400) { // ใช้คำสั่งเงื่อนไข (if) โดย ถ้าค่าของ y มีค่ามากกว่า 400
y = -40; // ก็จะสั่งให้ y มีค่าเท่ากับ -20 เพื่อให้วาดซ้ำ
background(255, 255, 255); // แล้วก็เปลี่ยนพื้นหลังเป็นสีขาวด้วยเมื่อวาดเสร็จ 1 รอบ
}
void drawCircle(int x, int y, int r) { // สร้างฟังก์ชันเพื่อวาดวัตถุ โดยใช้ตังแปรกำหนดค่าต่างๆ
fill(x, y, r); // ใส่สีพื้นหลังวัตถุ
ellipse(x, y, r, r); // วาดวงกลม
}
}
จะเห็นว่าคำสั่งอื่นๆเหมือน Art ใน Lab 2 แค่เพิ่มคำสั่งเงื่อนไข (if) เพืื่ให้มีการกำหนดค่าของ y ใหม่ และจะทำให้วัตถุถูกวาดใหม่ตลอด สวยงามขึ้น :)
void setup() {
size(300, 300); // กำหนดขนาดของจอที่แสดง
smooth(); // ใช้คำสั่ง smooth ให้งานมีความสวยงายขึ้น
noStroke(); // ใช้คำสั่ง noStroke ไม่วาดเส้นขอบ
background(255, 255, 255); // ใส่เพิ่มหลัง
}
void draw() { // สร้างฟังก์ชันเรียกใช้อัตโนมัติ
int x = 25; // ประกาศ และกำหนดตัวแปร x ให้เป็นค่าแกน X
int r = 50; // ประกาศ และกำหนดตัวแปร r ให้เป็นค่ารัศมี
y = y + 5; // สั่งให้ y เพิ่มขึ้นทีละ 5
fill(255, 0, 0); // ใส่สีพื้นหลังวัตถุ
drawCircle(x, y, r); // สั่งใช้ฟังก์ชัน drawCircle เพื่อวาด
x = x + r; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + r
drawCircle(x, y, r); // สั่งใช้ฟังก์ชัน drawCircle เพื่อวาด อีกครั้ง
x = x + r; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + r อีกครั้ง
drawCircle(x, y, r); // สั่งใช้ฟังก์ชัน drawCircle เพื่อวาด อีกครั้ง
x = x + r; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + r อีกครั้ง
drawCircle(x, y, r); // สั่งใช้ฟังก์ชัน drawCircle เพื่อวาด อีกครั้ง
x = x + r; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + r อีกครั้ง
drawCircle(x, y, r); // สั่งใช้ฟังก์ชัน drawCircle เพื่อวาด อีกครั้ง
x = x + r; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + r อีกครั้ง
drawCircle(x, y, r); // สั่งใช้ฟังก์ชัน drawCircle เพื่อวาด อีกครั้ง
if(y>400) { // ใช้คำสั่งเงื่อนไข (if) โดย ถ้าค่าของ y มีค่ามากกว่า 400
y = -40; // ก็จะสั่งให้ y มีค่าเท่ากับ -20 เพื่อให้วาดซ้ำ
background(255, 255, 255); // แล้วก็เปลี่ยนพื้นหลังเป็นสีขาวด้วยเมื่อวาดเสร็จ 1 รอบ
}
void drawCircle(int x, int y, int r) { // สร้างฟังก์ชันเพื่อวาดวัตถุ โดยใช้ตังแปรกำหนดค่าต่างๆ
fill(x, y, r); // ใส่สีพื้นหลังวัตถุ
ellipse(x, y, r, r); // วาดวงกลม
}
}
จะเห็นว่าคำสั่งอื่นๆเหมือน Art ใน Lab 2 แค่เพิ่มคำสั่งเงื่อนไข (if) เพืื่ให้มีการกำหนดค่าของ y ใหม่ และจะทำให้วัตถุถูกวาดใหม่ตลอด สวยงามขึ้น :)
Art (Function)
int y = -10; // ประกาศ และกำหนดตัวแปร y แบบ Global variale
void setup() {
size(300, 300); // กำหนดขนาดของจอที่แสดง
smooth(); // ใช้คำสั่ง smooth ให้งานมีความสวยงายขึ้น
noStroke(); // ใช้คำสั่ง noStroke ไม่วาดเส้นขอบ
background(255, 255, 255); // ใส่เพิ่มหลัง
}
void draw() { // สร้างฟังก์ชันเรียกใช้อัตโนมัติ
int x = 25; // ประกาศ และกำหนดตัวแปร x ให้เป็นค่าแกน X
int r = 50; // ประกาศ และกำหนดตัวแปร r ให้เป็นค่ารัศมี
y = y + 10; // สั่งให้ y เพิ่มขึ้นทีละ 10
fill(255, 0, 0); // ใส่สีพื้นหลังวัตถุ
drawCircle(x, y, r); // สั่งใช้ฟังก์ชัน drawCircle เพื่อวาด
x = x + r; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + r
drawCircle(x, y, r); // สั่งใช้ฟังก์ชัน drawCircle เพื่อวาด อีกครั้ง
x = x + r; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + r อีกครั้ง
drawCircle(x, y, r); // สั่งใช้ฟังก์ชัน drawCircle เพื่อวาด อีกครั้ง
x = x + r; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + r อีกครั้ง
drawCircle(x, y, r); // สั่งใช้ฟังก์ชัน drawCircle เพื่อวาด อีกครั้ง
x = x + r; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + r อีกครั้ง
drawCircle(x, y, r); // สั่งใช้ฟังก์ชัน drawCircle เพื่อวาด อีกครั้ง
x = x + r; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + r อีกครั้ง
drawCircle(x, y, r); // สั่งใช้ฟังก์ชัน drawCircle เพื่อวาด อีกครั้ง
}
void drawCircle(int x, int y, int r) { // สร้างฟังก์ชันเพื่อวาดวัตถุ โดยใช้ตังแปรกำหนดค่าต่างๆ
fill(x, y, r); // ใส่สีพื้นหลังวัตถุ
ellipse(x, y, r, r); // วาดวงกลม
}
เป็นการใช้ฟังก์ชัน ซึ่งจะทำให้โค้ดเราดูง่ายและเป็นระเบียบมากขึ้น และทำให้วัตถเคลื่อนที่โดยการกำหนดให้ตัวแปร y เป็น Global variable และให้เพิ่มค่าขึ้นเรื่อยๆ
void setup() {
size(300, 300); // กำหนดขนาดของจอที่แสดง
smooth(); // ใช้คำสั่ง smooth ให้งานมีความสวยงายขึ้น
noStroke(); // ใช้คำสั่ง noStroke ไม่วาดเส้นขอบ
background(255, 255, 255); // ใส่เพิ่มหลัง
}
void draw() { // สร้างฟังก์ชันเรียกใช้อัตโนมัติ
int x = 25; // ประกาศ และกำหนดตัวแปร x ให้เป็นค่าแกน X
int r = 50; // ประกาศ และกำหนดตัวแปร r ให้เป็นค่ารัศมี
y = y + 10; // สั่งให้ y เพิ่มขึ้นทีละ 10
fill(255, 0, 0); // ใส่สีพื้นหลังวัตถุ
drawCircle(x, y, r); // สั่งใช้ฟังก์ชัน drawCircle เพื่อวาด
x = x + r; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + r
drawCircle(x, y, r); // สั่งใช้ฟังก์ชัน drawCircle เพื่อวาด อีกครั้ง
x = x + r; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + r อีกครั้ง
drawCircle(x, y, r); // สั่งใช้ฟังก์ชัน drawCircle เพื่อวาด อีกครั้ง
x = x + r; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + r อีกครั้ง
drawCircle(x, y, r); // สั่งใช้ฟังก์ชัน drawCircle เพื่อวาด อีกครั้ง
x = x + r; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + r อีกครั้ง
drawCircle(x, y, r); // สั่งใช้ฟังก์ชัน drawCircle เพื่อวาด อีกครั้ง
x = x + r; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + r อีกครั้ง
drawCircle(x, y, r); // สั่งใช้ฟังก์ชัน drawCircle เพื่อวาด อีกครั้ง
}
void drawCircle(int x, int y, int r) { // สร้างฟังก์ชันเพื่อวาดวัตถุ โดยใช้ตังแปรกำหนดค่าต่างๆ
fill(x, y, r); // ใส่สีพื้นหลังวัตถุ
ellipse(x, y, r, r); // วาดวงกลม
}
เป็นการใช้ฟังก์ชัน ซึ่งจะทำให้โค้ดเราดูง่ายและเป็นระเบียบมากขึ้น และทำให้วัตถเคลื่อนที่โดยการกำหนดให้ตัวแปร y เป็น Global variable และให้เพิ่มค่าขึ้นเรื่อยๆ
วันพฤหัสบดีที่ 4 กรกฎาคม พ.ศ. 2556
The Cat (Like)
size (300, 300);
smooth ();
background (135, 206, 250);
strokeWeight (3);
// ears
fill (0);
triangle (40, 30, 150, 100, 50, 180);
triangle (260, 30, 250, 180, 150, 100);
// face
fill (255);
ellipse (150, 180, 200, 180);
// eyes
int cx = 100 ; // center X-axis of Eyes
int cy = 160 ; // center Y-axis of Eyes
int s = 100 ; // space of Eyes
int rx = 90 ; // radius X-axis of Eyes
int ry = 70 ; // radius Y-axis of Eyes
fill (175, 238, 238);
ellipse (cx, cy, rx, ry);
ellipse (cx + s , cy, rx, ry);
line (cx, 135, cx, 185);
line (cx + s, 135, cx + s, 185);
// mouth
fill (250, 128, 114);
triangle (150, 250, 110, 210, 190, 210);
// Whiskers
int x = 30 ; // point X of Whiskers
int sx = 100 ; // space of point X
int l = 70 ; // Length of Whiskers
line (x, 190, x+l, 200);
line (x, 210, x+l, 210);
line (x, 230, x+l, 220);
x = x + sx + l ;
line (x, 200, x+l, 190);
line (x, 210, x+l, 210);
line (x, 220, x+l, 230);
smooth ();
background (135, 206, 250);
strokeWeight (3);
// ears
fill (0);
triangle (40, 30, 150, 100, 50, 180);
triangle (260, 30, 250, 180, 150, 100);
// face
fill (255);
ellipse (150, 180, 200, 180);
// eyes
int cx = 100 ; // center X-axis of Eyes
int cy = 160 ; // center Y-axis of Eyes
int s = 100 ; // space of Eyes
int rx = 90 ; // radius X-axis of Eyes
int ry = 70 ; // radius Y-axis of Eyes
fill (175, 238, 238);
ellipse (cx, cy, rx, ry);
ellipse (cx + s , cy, rx, ry);
line (cx, 135, cx, 185);
line (cx + s, 135, cx + s, 185);
// mouth
fill (250, 128, 114);
triangle (150, 250, 110, 210, 190, 210);
// Whiskers
int x = 30 ; // point X of Whiskers
int sx = 100 ; // space of point X
int l = 70 ; // Length of Whiskers
line (x, 190, x+l, 200);
line (x, 210, x+l, 210);
line (x, 230, x+l, 220);
x = x + sx + l ;
line (x, 200, x+l, 190);
line (x, 210, x+l, 210);
line (x, 220, x+l, 230);
Archery (Sport)
size (200, 200) ;
int c = 100 ; // center
int r = 150 ; // radius
int s = 20 ; // space
smooth () ;
ellipse (c, c, r, r) ;
fill ( 0, 0, 0) ;
ellipse (c, c, r - s, r - s) ;
fill ( 0, 0, 255) ;
ellipse (c, c, r - ( s* 2 ), r - ( s* 2 )) ;
ellipse (c, c, r - ( s* 3 ), r - ( s* 3 )) ;
fill ( 255, 0, 0) ;
ellipse (c, c, r - ( s* 4 ), r - ( s* 4 )) ;
ellipse (c, c, r - ( s* 5 ), r - ( s* 5 )) ;
fill ( 255, 255, 0) ;
ellipse (c, c, r - ( s* 6 ), r - ( s* 6 )) ;
ellipse (c, c, r - ( s* 7 ), r - ( s* 7 )) ;
strokeWeight ( 3 ) ;
line (20, c, c, c );
triangle ( 10, c - 20, s, c, 10, c + s ) ;
triangle ( 10, c - 20, s, c, 10, c + s ) ;
Drum (Music)
size (300 , 300) ;
int cx = 150 ; // center of X-axis
int cy = 100 ; // center of Y-axis
int h = 100 ; // Height of Drum
fill (0) ;
ellipse (cx, cy + h, 150, 50) ; // Bottom
rect (75, 100, 150, h) ; // Body
// Drumhead
fill (255) ;
ellipse (cx, cy, 150, 50) ;
fill (0) ;
ellipse (cx, cy, 100, 25) ;
// Wooden drum
strokeWeight (5) ;
stroke (255, 150, 0) ;
line (90, 50, 140, 90) ;
line (160, 90, 210, 50) ;
Monster(Art)
size (300, 300);
background (50, 205, 50);
smooth ();
int r = 100 ; // radius of eyes
int s = 200 ; // space of eyes
int cx = 50 ; // center X-axis of eyes
int cy = 100 ; // center Y-axis of eyes
// Eye
ellipse (cx, cy, r, r);
ellipse (cx+s, cy, r, r);
fill (0);
ellipse (cx-20, cy, r-70, r-70);
ellipse ((cx+s)+20, cy, r-70, r-70);
// Nose
ellipse (150, 150, 150, 100);
fill (255);
ellipse (120, 150, 50, 50);
ellipse (180, 150, 50, 50);
background (50, 205, 50);
smooth ();
int r = 100 ; // radius of eyes
int s = 200 ; // space of eyes
int cx = 50 ; // center X-axis of eyes
int cy = 100 ; // center Y-axis of eyes
// Eye
ellipse (cx, cy, r, r);
ellipse (cx+s, cy, r, r);
fill (0);
ellipse (cx-20, cy, r-70, r-70);
ellipse ((cx+s)+20, cy, r-70, r-70);
// Nose
ellipse (150, 150, 150, 100);
fill (255);
ellipse (120, 150, 50, 50);
ellipse (180, 150, 50, 50);
วันจันทร์ที่ 1 กรกฎาคม พ.ศ. 2556
Bridge
void setup() {
size(400, 300);
smooth();
background(255);
drawSlings(100, 300, 100);
}
void drawSlings(int t1, int t2, int y) {
int count = 0;
int s = 10;
int n = 20;
int x1 = 0;
int x2 = 200;
while(count<n) {
line(x1, 200, t1, y);
x1 = x1 + s;
line(x2, 200, t2, y);
x2 = x2 + s;
count = count + 1;
}
strokeWeight(10);
line(0, height/1.5, width, height/1.5);
line(100, 200, 100, 300);
line(300, 200, 300, 300);
}
void setup() {
size(400, 300);
smooth();
background(255);
drawSlings(100, 300, 100);
}
void drawSlings(int t1, int t2, int y) {
int count = 0;
int s = 10;
int n = 20;
int x1 = 0;
int x2 = 200;
while(count<n) {
line(x1, 200, t1, y);
x1 = x1 + s;
line(x2, 200, t2, y);
x2 = x2 + s;
count = count + 1;
}
strokeWeight(10);
line(0, height/1.5, width, height/1.5);
line(100, 200, 100, 300);
line(300, 200, 300, 300);
}
เป็นการใช้คำสั่ง while loop วาดรูปซ้ำๆกัน โดยการกำหนดเงื่อนไขคือ เมื่อ count มีค่า น้อยกว่า ค่า n แล้ว ซึ่งตอนแรก เรากำหนดค่าของ count เป็น 0 ดังนั้นเป็นจริงตามเงื่อนไข จึงสั่งให้วาดเส้น 1 เส้น แล้วให้ x1 = x1 + s เป็นการเพิ่นค่าของ x1 ให้เท่ากับ x1 + s แล้ววาดเส้นต่ออีก 1 เส้น แล้วให้ x2 = x2 + s เป็นการเพิ่นค่าของ x2 ให้เท่ากับ x2 + s แล้วให้ count = count + 1 เป็นการเพิ่นค่าของ count เพิ่มขึ้นอีก 1 แล้วกลับไปเช็คเงื่อนไขต่ออีกรอบ แล้วถ้าเงื่อนไขยังเป็นจริงอยู่ ก็จะวนขึ้นมาทำแบบนี้ไปเรื่อย จนกว่าเงื่อนไขจะเป็นเท็จ หรือก็คือ count มีค่ามากกว่า หรือเท่ากับค่าของ n จึงออกจาก loop แล้วก็คำสั่งต่อไปจนจบ
size(400, 300);
smooth();
background(255);
drawSlings(100, 300, 100);
}
void drawSlings(int t1, int t2, int y) {
int count = 0;
int s = 10;
int n = 20;
int x1 = 0;
int x2 = 200;
while(count<n) {
line(x1, 200, t1, y);
x1 = x1 + s;
line(x2, 200, t2, y);
x2 = x2 + s;
count = count + 1;
}
strokeWeight(10);
line(0, height/1.5, width, height/1.5);
line(100, 200, 100, 300);
line(300, 200, 300, 300);
}
void setup() {
size(400, 300);
smooth();
background(255);
drawSlings(100, 300, 100);
}
void drawSlings(int t1, int t2, int y) {
int count = 0;
int s = 10;
int n = 20;
int x1 = 0;
int x2 = 200;
while(count<n) {
line(x1, 200, t1, y);
x1 = x1 + s;
line(x2, 200, t2, y);
x2 = x2 + s;
count = count + 1;
}
strokeWeight(10);
line(0, height/1.5, width, height/1.5);
line(100, 200, 100, 300);
line(300, 200, 300, 300);
}
เป็นการใช้คำสั่ง while loop วาดรูปซ้ำๆกัน โดยการกำหนดเงื่อนไขคือ เมื่อ count มีค่า น้อยกว่า ค่า n แล้ว ซึ่งตอนแรก เรากำหนดค่าของ count เป็น 0 ดังนั้นเป็นจริงตามเงื่อนไข จึงสั่งให้วาดเส้น 1 เส้น แล้วให้ x1 = x1 + s เป็นการเพิ่นค่าของ x1 ให้เท่ากับ x1 + s แล้ววาดเส้นต่ออีก 1 เส้น แล้วให้ x2 = x2 + s เป็นการเพิ่นค่าของ x2 ให้เท่ากับ x2 + s แล้วให้ count = count + 1 เป็นการเพิ่นค่าของ count เพิ่มขึ้นอีก 1 แล้วกลับไปเช็คเงื่อนไขต่ออีกรอบ แล้วถ้าเงื่อนไขยังเป็นจริงอยู่ ก็จะวนขึ้นมาทำแบบนี้ไปเรื่อย จนกว่าเงื่อนไขจะเป็นเท็จ หรือก็คือ count มีค่ามากกว่า หรือเท่ากับค่าของ n จึงออกจาก loop แล้วก็คำสั่งต่อไปจนจบ
Railway
void setup() {
size(400, 400);
smooth();
background(255);
drawrailway(0);
}
void drawrailway(int x) {
int count = 0;
int w = 30;
int n = width/w;
while(count<n) {
fill(134, 67, 0);
rect(x, 50, w, 300);
x = x + (w*2);
count = count + 1;
}
fill(200);
rect(0, 100, width, w);
rect(0, 270, width, w);
}
เป็นการใช้คำสั่ง while loop วาดรูปซ้ำๆกัน โดยการกำหนดเงื่อนไขคือ เมื่อ count มีค่า น้อยกว่า ค่า n แล้ว ซึ่งตอนแรก เรากำหนดค่าของ count เป็น 0 ดังนั้นเป็นจริงตามเงื่อนไข จึงสั่งให้วาดสี่เหลี่ยม 1 รูป แล้วให้ x = x + (w*2) เป็นการเพิ่นค่าของ x ให้เท่ากับ (w*2) แล้วให้ count = count + 1 เป็นการเพิ่นค่าของ count เพิ่มขึ้นอีก 1 แล้วกลับไปเช็คเงื่อนไขต่ออีกรอบ แล้วถ้าเงื่อนไขยังเป็นจริงอยู่ ก็จะวนขึ้นมาทำแบบนี้ไปเรื่อย จนกว่าเงื่อนไขจะเป็นเท็จ หรือก็คือ count มีค่ามากกว่า หรือเท่ากับค่าของ n จึงออกจาก loop แล้วก็คำสั่งต่อไปจนจบ
size(400, 400);
smooth();
background(255);
drawrailway(0);
}
void drawrailway(int x) {
int count = 0;
int w = 30;
int n = width/w;
while(count<n) {
fill(134, 67, 0);
rect(x, 50, w, 300);
x = x + (w*2);
count = count + 1;
}
fill(200);
rect(0, 100, width, w);
rect(0, 270, width, w);
}
เป็นการใช้คำสั่ง while loop วาดรูปซ้ำๆกัน โดยการกำหนดเงื่อนไขคือ เมื่อ count มีค่า น้อยกว่า ค่า n แล้ว ซึ่งตอนแรก เรากำหนดค่าของ count เป็น 0 ดังนั้นเป็นจริงตามเงื่อนไข จึงสั่งให้วาดสี่เหลี่ยม 1 รูป แล้วให้ x = x + (w*2) เป็นการเพิ่นค่าของ x ให้เท่ากับ (w*2) แล้วให้ count = count + 1 เป็นการเพิ่นค่าของ count เพิ่มขึ้นอีก 1 แล้วกลับไปเช็คเงื่อนไขต่ออีกรอบ แล้วถ้าเงื่อนไขยังเป็นจริงอยู่ ก็จะวนขึ้นมาทำแบบนี้ไปเรื่อย จนกว่าเงื่อนไขจะเป็นเท็จ หรือก็คือ count มีค่ามากกว่า หรือเท่ากับค่าของ n จึงออกจาก loop แล้วก็คำสั่งต่อไปจนจบ
Express Way
void setup() {
size(500, 300);
smooth();
background(255);
drawWay(50);
}
void drawWay(int x) {
int count = 0;
int s = 50;
int w = 30;
int n = 6;
while(count<n) {
fill(0);
rect(x, 100, w, 100);
x = x + (s+w);
count = count + 1;
}
fill(200);
rect(0, 100, width, w);
}
เป็นการใช้คำสั่ง while loop วาดรูปซ้ำๆกัน โดยการกำหนดเงื่อนไขคือ เมื่อ count มีค่า น้อยกว่า ค่า n แล้ว ซึ่งตอนแรก เรากำหนดค่าของ count เป็น 0 ดังนั้นเป็นจริงตามเงื่อนไข จึงสั่งให้วาดสี่เหลี่ยม 1 รูป แล้วให้ x = x + (s+w) เป็นการเพิ่นค่าของ x ให้เท่ากับ (s+w) แล้วให้ count = count + 1 เป็นการเพิ่นค่าของ count เพิ่มขึ้นอีก 1 แล้วกลับไปเช็คเงื่อนไขต่ออีกรอบ แล้วถ้าเงื่อนไขยังเป็นจริงอยู่ ก็จะวนขึ้นมาทำแบบนี้ไปเรื่อย จนกว่าเงื่อนไขจะเป็นเท็จ หรือก็คือ count มีค่ามากกว่า หรือเท่ากับค่าของ n จึงออกจาก loop แล้วก็คำสั่งต่อไปจนจบ
size(500, 300);
smooth();
background(255);
drawWay(50);
}
void drawWay(int x) {
int count = 0;
int s = 50;
int w = 30;
int n = 6;
while(count<n) {
fill(0);
rect(x, 100, w, 100);
x = x + (s+w);
count = count + 1;
}
fill(200);
rect(0, 100, width, w);
}
เป็นการใช้คำสั่ง while loop วาดรูปซ้ำๆกัน โดยการกำหนดเงื่อนไขคือ เมื่อ count มีค่า น้อยกว่า ค่า n แล้ว ซึ่งตอนแรก เรากำหนดค่าของ count เป็น 0 ดังนั้นเป็นจริงตามเงื่อนไข จึงสั่งให้วาดสี่เหลี่ยม 1 รูป แล้วให้ x = x + (s+w) เป็นการเพิ่นค่าของ x ให้เท่ากับ (s+w) แล้วให้ count = count + 1 เป็นการเพิ่นค่าของ count เพิ่มขึ้นอีก 1 แล้วกลับไปเช็คเงื่อนไขต่ออีกรอบ แล้วถ้าเงื่อนไขยังเป็นจริงอยู่ ก็จะวนขึ้นมาทำแบบนี้ไปเรื่อย จนกว่าเงื่อนไขจะเป็นเท็จ หรือก็คือ count มีค่ามากกว่า หรือเท่ากับค่าของ n จึงออกจาก loop แล้วก็คำสั่งต่อไปจนจบ
สมัครสมาชิก:
ความคิดเห็น (Atom)