วันอังคารที่ 24 กันยายน พ.ศ. 2556

GCD & LGD Epi.2

int gcd(int x, int y) { if (x==0) { return y; } if (y==0) { return x; } if (x>y) { return gcd(y, x%y); } else { return gcd(x, y%x); } } void setup() { println("GCD "+gcd(20, 4)); }

MY SOLAR



 int i = 0;  //ตัวแปรชนิด Global Variable ที่ใช้แทนได้ทั้งฟังก์ชั่น ตัวนี้นำไปใช้ในการนับ Array และเป็นจำนวนเต็ม
float [] r = {1.750, 6.052, 6.371, 3.390, 69.911, 58.232, 25.362, 24.622};  //Array ชุดที่เก็บข้อมูลสำหรับค่ารัศมีของดาวเคราะห์แต่ละดวง เป็นค่าทศนิยม
float [] d = {57.9102, 108.2002 , 180.6002, 227.9002, 478.5002, 833.5002, 1177.0002, 1462.0002};  //Array ชุดที่ใช้เก็บค่าระยะห่างระหว่างดวงดาว
float [] moon = {0, 0, 1, 2, 39, 30, 21, 8};  //Array ที่ใช้กำหนดจำนวนดวงจันทร์
String [] names = {"Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"};  //Array ชนิด String [] ใช้สำหรับเก็บชื่อของดาวเคราะห์ทั้ง 8 ดวง
color [] c = {#FF0033, #FF00CC, #CC33CC, #6666CC, #33CC99, #00CC33, #000033, #FFFF66};  //Array ที่ใช้สำหรับกำหนดสีของดาวเคราะห์ทั้งหมดตามลำดับ จากซ้ายไปขวา
int y = 150;
int a = 80;
void setup() {  //ฟังก์ชั่นหลักที่ใช้ในการกำหนดเรียกใช้งานฟังก์ชั่นต่างๆ
  background(#000000);  //ฟังก์ชั่นที่ใช้เติมสีให้กับพื้นหลัง โดยกำหนดตามแม่สี สีที่ใช้นี้คือ สีน้ำเงินเข้มจนเกือบดำ
  size(1200, 500);  //ฟังก์ชั่นที่ใช้ในการกำหนดพื้นที่ หรือ size(width, height)
  fill(#FF0900);  //ฟังก์ชั่นที่ใช้ในการเติมสีให้กับสิ่งต่างๆ ตามค่าของแม่สี หรือเครื่องหมาย # สีที่ใส่นี้คือ สีแดง
  ellipse (10, 90, 250, 500);  //ฟังก์ชั่นที่ใช้ในการวาดวงรี หรือ ellipse(x, y, width, height) สิ่งที่วาดนี้คือ ดวงอาทิตย์
  while(i < moon.length) {  //กำหนดลูปเงื่อนไขในกรณีที่ค่า i มีค่าน้อยกว่าความยาวของ Array ชื่อ moon
    fill(255);  //เติมสีขาว
    textSize(12);  //ฟังก์ชั่นที่ใช้ในการกำหนดขนาดของข้อความ
    text(names[0], r[0]*65, a);  //ฟังก์ชั่นที่ใช้ในการเขียนข้อความ โดยครั้งนี้กำหนดให้เขียนข้อความตามตำแหน่งของข้อความใน Array ชื่อ names สังเกตได้จาก text(data, x, y)
    text(names[1], r[1]*27, a);
    text(names[2], r[2]*32, a);
    text(names[3], r[3]*71, a);
    text(names[4], r[4]*5, a);
    text(names[5], r[5]*9, a);
    text(names[6], r[6]*27+15, a);
    text(names[7], r[7]*34, a);
    fill(c[i]);  //เติมสีตาม Array ชื่อ c
    ellipse (130+d[i]/2, y, 2.2*r[i], 2.2*r[i]);
    fill(255, 255, 0);  //เติมสีเหลืองให้กับดวงจันทร์
    drawmoon(d[2]+50, r[2]*2, moon[2]);
    drawmoon(d[3]+20, r[3]*2, moon[3]);
    drawmoon(d[4]-110, r[4]*2, moon[4]);
    drawmoon(d[5]-285, r[5]*2, moon[5]);
    drawmoon(d[6]-458, r[6]*2, moon[6]);
    drawmoon(d[7]-600, r[7]*2, moon[7]);
    i = i+1;  //ค่าของ i มีค่าเพิ่มขึ้นทีละ 1 จนกว่าจะสิ้นสุดลูป
  }
 }

void drawmoon(float x, float rad, float n) {  //ฟังก์ชั่นที่ใช้ในการสร้างดวงจันทร์ โดยกำหนดพารามิเตอร์
  int i = 0;  //กำหนดตัวแปร i ชนิด Local Variable ใช้ในการแทนค่าในฟังก์ชั่นนี้
  while(i < n) {  //ลูปกรณีที่ i มีค่าน้อยกว่า n
    ellipse(x+rad*0.7*sin(i), 150+(cos(i)*rad*0.7), 5, 5);
    i = i+2;
  }
}
 

LCM & GCD Epi.1

int lcm(int x, int y) { if (x==0) { return y; } if (y==0) { return x; } if (x>y) { return lcm(x, x%y); } else { return lcm(y, y%x); } } void setup() { println("LCM "+lcm(20, 4)); }

Limited UFO


void setup() {
  size(600, 600);
}
float n = 0;
float x = 0;
float y = 0;
class UFO {
  float a;
  float b;
 
  UFO(float x,float y){
    this.a=x;
    this.b=y;
  }
  void display(float x,float y){
   
   fill(#3399FF);
       ellipse(170+cos(x)*100, 200+sin(y)*150, 90, 130);
    fill(0);
    ellipse(170+cos(x)*100, 200+sin(y)*150, 150, 90);
    fill(255);
  }
}
boolean move  =false;
void mouseClicked() {
  if (move =false) {
    move  =true;
    stop();
      }
}
void draw() {
  background(102, 0, 153);
  UFO f=new UFO (0,0);
  f.display(x, y);
  x = x + 0.01;
  y = y + 0.01;
}

Fraction



 void setup() {
  print(fac(4)); //แสดงผลลัพธ์ factorial 9
}
int fac(int n) { //ฟังก์ชันสำหรับการหาผลลัพธ์ของจำนวน n!
  if (n==1) {
    return 1; //base case โดยการตรวจสอบว่า n=1 หรือไม่ โดยมีการ return ค่า 1
  }
  else {
    return n*fac(n-1); //recursive case โดยมีการ return ค่า n*fac(n-1)
  }
}

PALINDOME


 
void setup() {  //ฟังก์ชั่นหลักที่ใช้ในการกำหนดค่า และเรียกใช้สิ่งต่างๆ เป็นฟังก์ชั่นที่ไม่มีการวกกลับ
  int y = 70;
  size(700, 100);  //ฟังก์ชั่นที่ใช้ในการกำหนดขนาดของพื้นที่ canvas
  background(#FFC0CB);  //ฟังก์ชั่นที่ใช้ในการเติมสีให้กับพื้นหลังให้เป็นสีชมพูอ่อน
   String s = "ROTOR";  //ใส่คำที่จะตรวจสอบ
   fill(#000000);  //ฟังก์ชั่นที่ใช้ในการเติมสีให้เป็นสีดำ
   textSize(50);  //ฟังก์ชั่นที่ใช้ในการกำหนดขนาดของตัวอักษร
   if(palindrome(s)) {  //กำหนดเงื่อนไขในการตรวจสอบ
    textSize(50);
    text(s+" is palindrome", width/12, y);  //ถ้าเงื่อนไขด้านบนเป็นจริงให้พิมพ์ข้อความที่ระบุไว้สองอย่าง โดยเลือกตามฟังก์ชั่น โดยข้อความนี้ใช้ text(data, x, y)
   }else {  //กำหนดเงื่อนไขอีกกรณีหนึ่ง
    text(s+" is not palindrome", width/12, y);
   }
 }
  boolean palindrome(String s1) {  //ฟังชั่นที่ใช้ตรวจสอบว่าเป็นจริงหรือเท็จ
   String s2 = s1;  //เก็บคำที่ต้องการตรวจสอบ
   int i = s2.length()-1;  //ใช้นับจำนวนตัวอักษร
   int j = 0;  //ตัวนับ Array
   char[] a = new char[i+1];  //ตัวเก็บค่าตัวอักษร
   while(i>=0) {  //กำหนดลูปสำหรับวนรับค่าตัวอักษรจากท้ายมาหน้า
     a[j] = s2.charAt(i);  //เก็บตัวอักษรของคำตามตำแหน่ง i
     i = i-1;
     j = j+1;
    }
    s2 = new String(a);  //เก็บตัวอักษรทั้งหมดไว้ที่ s2
    boolean n = s1.equals(s2);   //เทียบค่าตัวแปร
    return n;  //คืนค่า n จากเงื่อนไขที่ได้
}

LCD & GCD The End


 
void setup() {  //ฟังก์ชั่นหลักที่ใช้ในการกำหนดค่า และเรียกใช้สิ่งต่างๆ เป็นฟังก์ชั่นที่ไม่มีการวกกลับ
  int g1=2000;
  int g2=700;
  int l1=6000;
  int l2=820;
  println("The GCD of "+g1+" and "+g2+" is "+gcd(g1, g2));  //แสดงผลลัพธ์ของการหาผลหารร่วมมากระหว่าง 2,000 กับ 700 ออกทางจอ
  println("The LCM of "+l1+" and "+l2+" is "+lcm(l1, l2));  //แสดงผลลัพธ์ของการหาผลคูณร่วมน้อยระหว่าง 6,000 กับ 820
}
int result;  //กำหนดตัวแปรสำหรับการเก็บค่าของผลลัพธ์ที่ได้จากเงื่อนไข
int gcd(int x, int y) {  //กำหนดฟังก์ชั่นสำหรับการหาผลหารร่วมมากที่มี parameter
  if (x==0) {  //กำหนดเงื่อนไข ในกรณีที่ x มีค่าเท่ากับ 0 ทำตามผลด้านล่าง
    result = y;
  }
  else if (y==0) {  //กำหนดเงื่อนไขอีกกรณี ในกรณีที่ y มีค่าเท่ากับ 0 ทำตามผลด้านล่าง
    result = x;
  }
  else if (x>y) {  //กำหนดเงื่อนไขอีกกรณีที่ x มากกว่า y
    gcd(y, x%y);  //กำหนดเพื่อหาผลหารร่วมมากโดยไม่มีเศษเหลือ
  }
  else if (x<=y) {  //กำหนดเงื่อนไขอีกกรณีที่ x น้อยกว่าหรือเท่ากับ y
    gcd(x, y%x);
  }
  return result;  //คืนค่ากลับออกมาโดยไม่มีเศษเหลือ แต่เป็นจำนวนเต็ม
}
int lcm(int x, int y) {  //กำหนดเพื่อการหาผลคูณร่วมน้อย ที่มี parameter
  return x*y/gcd(x, y);  //คืนค่าที่ได้มาเป็นจำนวนเต็มที่เกิดจากการกระทำของสมการ

BUTTON


 
void setup() {  //ฟังก์ชั่นหลักที่ใช้ในการกำหนดค่า และเรียกใช้สิ่งต่างๆ เป็นฟังก์ชั่นที่ไม่มีการวกกลับ
  size(350, 400);  //ฟังก์ชั่นที่ใช้ในการกำหนดขนาดของพื้นที่ หรือ size(width, height)
}
Button a = new Button("Joe", 50, 50);  //ปุ่ม a ที่ตำแหน่งแกน X 50 แกน Y 50 กดแล้วได้คำว่า joe
Button b = new Button("Is", 200, 50);  //ปุ่ม b ที่ตำแหน่งแกน X 200 แกน Y 50 กดแล้วได้คำว่า is
Button c = new Button("My", 50, 165);  //ปุ่ม c ที่ตำแหน่งแกน X 50 แกน Y 165 กดแล้วได้คำว่า my
Button d = new Button("Love", 200, 165);  //ปุ่ม d ที่ตำแหน่งแกน X 200 แกน Y 165 กดแล้วได้คำว่า love
Button e = new Button("Love", 50, 275);  //ปุ่ม e ที่ตำแหน่งแกน X 50 แกน Y 275 กดแล้วได้คำว่า love
Button f = new Button("U", 200, 275);  //ปุ่ม f ที่ตำแหน่งแกน X 200 แกน Y 275 กดแล้วได้คำว่า u
void draw() {  //ฟังก์ชั่นหลักที่ใช้ในการวาด
  background(#F8F8FF);  //ฟังก์ชั่นที่ใช้ในการเติมสีให้กับพื้นหลัง
  a.display();  //เรียกใช้ปุ่ม a
  b.display();  //เรียกใช้ปุ่ม b
  c.display();  //เรียกใช้ปุ่ม c
  d.display();  //เรียกใช้ปุ่ม d
  e.display();  //เรียกใช้ปุ่ม e
  f.display();  //เรียกใช้ปุ่ม f
}
class Button {  //กำหนด class ชื่อ Button
  String name;  //ใช้ในการเก็บชื่อ
  int x;  //กำหนดตัวแปรชนิดจำนวนเต็ม ตัวนี้ใช้เก็บค่าในแกน X
  int y;  //เก็บค่าในแกน Y
  int w;  //เก็บความกว้าง
  int l;  //เก็บความสูง
  int i;  //เก็บตัวนับ Array
  Button(String n, int x, int y) {
    this.name = n;
    this.x = x;
    this.y = y;
    this.w = 100;
    this.l = 50;
    this.i = 0;
  }
  void display() {  //กำหนดฟังก์ชั่นสำหรับแสดงปุ่ม
    fill(#FF9999);  //ฟังก์ชั่นที่ใช้ในการเติมสีให้กับสิ่งต่างๆ สีชมพูอ่อน
    stroke(#FF99FF);  //ฟังก์ชั่นที่ใช้ในการเติมสีให้กับเส้น สีชมพูอมครีม
    strokeWeight(7);  //ฟังก์ชั่นที่ใช้ในการเพิ่มความหนาของเส้น
    rect(this.x, this.y, this.w, this.l);  //ฟังก์ชั่นที่ใช้ในการวาดรูปสี่เหลี่ยม หรือ rect(x, y, width, height)
    this.click();
  }
  void click() {  //กำหนดฟังก์ชั่นที่ใช้เรียกใช้การคลิก
    if (mousePressed&&mouseX>x&&mouseX<x+w&&mouseY>y&&mouseY<y+l) {
      fill(#000000);  //เติมสีดำ
      textSize(50);  //ฟังก์ชั่นที่กำหนดขนาดของข้อความ
      text(name, this.x, this.y+100);  //ฟังก์ชั่นที่ใช้ในการสร้างข้อความ หรือ text(data, x, y)
    }
  }
}

XO


 
int i = 0; //กำหนดตัวแปรชนิด Global Variable เพื่อให้แทนค่าใน Array พร้อมทั้งเป็นคำสั่งในการนับ และการเพิ่ม
int j = 0;
int [][] OX = {{0, 0, 1}, {1, 0, 1}, {0, 1, 0}}; //กำหนด Array 2 มิติ โดยให้ตัวเลขแต่ละตัวออกมาแทนค่าได้ตามเงื่อนไขในการวนลูปที่เรากำหนดขึ้น ในนี้ ผมใช้ 0 แทน O ส่วน 1 แทน X
int x = 50; //กำหนดตัวแปรที่ใช้ในการแทนค่าฟังก์ชั่นต่างๆ ในฟังก์ชั่นทั้งหมด
int y = 50;
void setup() { //ฟังก์ชั่นหลักในการตั้งค่าโดยไม่มีการวนซ้ำ
    background(#FFFF33); //กำหนดพื้นหลังสีเหลือง
    size(300, 300); //กำหนดความกว้างและสูงของพื้นที่ หรือ size(width, height)
    stroke(#000000); //ฟังก์ชั่นที่ใช้ในการเติมสีให้กับเส้น โดยเติมตามค่าของแม่สี หรือเครื่องหมาย # โดยสีที่ใส่ไปนี้คือสีเขียว
    strokeWeight(15); //ฟังก์ชั่นที่ใช้ในการกำหนดน้ำหนักของเส้นโดยใส่ตัวเลขลงไปในวงเล็บ
    line(0,0,300,0); //วาดเส้นขอบ
    line(300,0,0,0); //วาดเส้นขอบ
    noFill(); //ฟังก์ชั่นที่ใช้ในการเติมสีให้กับพื้นหลัง หรือรูปทรงต่างๆ โดยเติมตามค่าของแม่สี หรือเครื่องหมาย # โดยสีที่ใส่ไปนี้คือสีเหลืองอ่อน
    while (i < OX.length) { //ในกรณีที่ j น้อยกว่าความยาวของ OX หรือ 3 จึงจะทำการเข้าวนลูปได้
        while (j < OX[i].length) { //ในกรณีที่ j น้อยกว่าความยาวของ OX หรือ 3 จึงจะทำการเข้าวนลูปได้
             if (OX [i][j] == 0) { //เงื่อนไขที่ว่า OX [i][j] มีค่าเท่ากับ 0 หรือไม่ ถ้าใช่จะสร้างวงกลมตามที่กำหนดด้วยฟังก์ชั่นวาดวงรี หรือ ellipse(x, y, width, height)
                 stroke(#000000); //กำหนดสีในเส้น สีที่ใส่คือสีดำ
                ellipse(x, y, 60, 60);
             }
             else { //ถ้าเงื่อนไขข้างบนไม่เป็นจริง จะวาดเส้นที่กำหนดด้วยฟังก์ชั่น line(x1, y1, x2, y2)
                stroke(#F0181C); //ส่วนนี้วาดรูปกากบาท โดยใส่สีแดง
                line(x+30, y-30, x-30, y+30);
                line(x-30, y-30, x+30, y+30);
                stroke(#000000); //ส่วนนี้วาดเส้นแบ่งพื้นที่ ด้วยสีเขียว
                line(x+50, j, x+50, x+250);
                line(j, y+50, x+250, y+50);
            }
            x = x+100; //กำหนดให้ค่าของ x มีค่าเพิ่มขึ้นทีละ 100 ไปเรื่อยๆ จนกว่าจะจบเงื่อนไขนี้
            j = j+1;  //กำหนดฟังก์ชั่นในการนับ
      }
      j = 0; //ถ้าผ่านเงื่อนไขเหล่านี้มาได้ ค่า j จะเท่ากับ 0
      x = 50; //ถ้าผ่านเงื่อนไขเหล่านี้มาได้ ค่า x จะเท่ากับ 50
      y = y+100; //กำหนดให้ค่าของ y เพื่มขึ้นทีละ 100 จนกว่าจะจบการวนลูป
      i = i+1;  //กำหยดฟังก์ชั่นในการนับอีกครั้ง
   }
}

FACTORAIL




void setup() {
  print(fac(4)); //แสดงผลลัพธ์ factorial 24
}
int fac(int n) { //ฟังก์ชันสำหรับการหาผลลัพธ์ของจำนวน n!
  if (n==1) {
    return 1; //base case โดยการตรวจสอบว่า n=1 หรือไม่ โดยมีการ return ค่า 1
  }
  else {
    return n*fac(n-1); //recursive case โดยมีการ return ค่า n*fac(n-1)
  }
}

SUB CLASS


void setup() {  //ฟังก์ชั่นหลักที่ใช้ในการกำหนด และเรียกใช้ ไม่มีการวกกลับ
  Call Friend = new Call();  //กำหนด และเรียกใช้ class
  Call d = new Me();
  Friend.move();  //กำหนดการเคลื่อนไหวของ class
  d.move();
  Friend.run();  //กำหนดการทำงานของ class
}
class Call {  //สร้าง class ชื่อ Call เพื่อการเก็บข้อมูล
  void move() {  //ฟังก์ชั่นสำหรับกำหนดการเคลื่อนไหว
    println("Call Friend");  //พิมพ์ข้อความที่แสดงไว้ในวงเล็บ
  }
  void run() {  //ฟังก์ชั่นสำหรับกำหนดการทำงานของฟังก์ชั่น
    println("I' love you");
    ellipse(50, 50, 25, 25);  //ฟังก์ชั่นสำหรับวาดรูปวงรี หรือ ellipse(x, y, width, height)
  }
}
class Me extends Call {  //สร้าง class สำหรับกำหนดทำงาน และรวมข้อมูล
  void move() {
    println("I wanna to be with you");
  }
}

REVERT STRING



 void setup(){
  size(130, 50);
  background (255, 51, 204);
  fill (102, 51, 51);
  text(reverseString("tavhabarP nawaliw"), 20, 25);
}
String reverseString(String s){
  int i;
  char[] c = new char[s.length()];
  int a = 0;
  for(i = s.length()-1;i >= 0;i--){
     c[a] = s.charAt(i);
     a = a+1;
  }
  s = new String(c);
  return s;
}

KO



int x = 50;  //กำหนดตัวแปรชนิด Global Variable สองตัวเพื่อให้แทนค่าได้ทุกฟังก์ชั่นในโปรแกรม
int y = 50;
float [][] Reversi = {
  {
    random(0, 2), random(0, 2), random(0, 2), random(0, 2), random(0, 2), random(0, 2), random(0, 2), random(0, 2)
    }
  , {
    random(0, 2), random(0, 2), random(0, 2), random(0, 2), random(0, 2), random(0, 2), random(0, 2), random(0, 2)
    }
  , {
    random(0, 2), random(0, 2), random(0, 2), random(0, 2), random(0, 2), random(0, 2), random(0, 2), random(0, 2)
    }
  , {
    random(0, 2), random(0, 2), random(0, 2), random(0, 2), random(0, 2), random(0, 2), random(0, 2), random(0, 2)
    }
  , {
    random(0, 2), random(0, 2), random(0, 2), random(0, 2), random(0, 2), random(0, 2), random(0, 2), random(0, 2)
    }
  , {
    random(0, 2), random(0, 2), random(0, 2), random(0, 2), random(0, 2), random(0, 2), random(0, 2), random(0, 2)
    }
  , {
    random(0, 2), random(0, 2), random(0, 2), random(0, 2), random(0, 2), random(0, 2), random(0, 2), random(0, 2)
    }
  , {
    random(0, 2), random(0, 2), random(0, 2), random(0, 2), random(0, 2), random(0, 2), random(0, 2), random(0, 2)
    }
  };  //กำหนด Array 2 มิติ โดยให้ตัวเลขแต่ละตัวออกมาแทนค่าได้ตามเงื่อนไขในการวนลูปที่เรากำหนดขึ้น ในนี้ ตัวเลขแต่ละตัวในวงเล็บนี้ถูกกำหนดให้นำออกมาใช้แบบสุ่มตามหลักทศนิยม หรือฟังก์ชั่น float พร้อมกับฟังก์ชั่นในการสุ่มเลือก หรือ random() เราจะสังเกตได้ว่า สีของวงกลมที่ใช้แทนเบี้ยนั้นมีการเปลี่ยนไปเรื่อยทุกการใช้งานทีละครั้ง ยิ่งเรากำหนดตัวเลขมากขึ้น การเปลี่ยนสีก็ยิ่งนานขึ้น
  int i = 0;  //กำหนดเพื่อการนับ

int j = 0;
void setup() {  //ฟังก์ชั่นหลักในการตั้งค่าโดยไม่มีการวนซ้ำ
  size(400, 400);  //กำหนดความกว้างและสูงของพื้นที่ เป็น 400x400
  background(#008000);  //ฟังก์ชั่นที่ใช้ในการเติมสีให้กับพื้นหลังโดยสีที่ใส่ไปนี้คือ สีเขียว
  while (x < 400) {  //ในกรณีที่ x น้อยกว่า 400 จึงจะทำการเข้าวนลูปได้
    strokeWeight(3);  //ฟังก์ชั่นที่ใช้ในการกำหนดน้ำหนักของเส้นโดยใส่ตัวเลขลงไปในวงเล็บ
    line(x, 0, x, 400);  //ถ้าเงื่อนไขข้างบนไม่เป็นจริง จะวาดเส้นที่กำหนดด้วยฟังก์ชั่น line
    x = x+51;  //ค่า x จะมีค่าเพิ่มขึ้นทีละ 50 ในเงื่อนไขนี้ หากเป็นจริง
  }
  while (y < 400) {  //ในกรณีที่ y น้อยกว่า 400 จึงจะทำการเข้าวนลูปได้
    line(0, y, 400, y);  //ถ้าเงื่อนไขข้างบนไม่เป็นจริง จะวาดเส้นที่กำหนดด้วยฟังก์ชั่น line
    y = y+51;  //ค่า y จะมีค่าเพิ่มขึ้นทีละ 50 ในเงื่อนไขนี้ หากเป็นจริง
  }
  x = 25;  //กำหนดให้ค่าของตัวแปรทั้งสองนี้ใหม่ และยังคงเป็นจำนวนเต็ม เพื่อนำมาใช้กับลูปถัดไป
  y = 25;
  while (i < Reversi.length) {  //ในกรณีที่ i น้อยกว่าความยาวของ Reversi หรือ 8 จึงจะทำการเข้าวนลูปได้
    while (j < Reversi[i].length) {  //ในกรณีที่ j น้อยกว่าความยาวของ Reversi หรือ 8 จึงจะทำการเข้าวนลูปได้
      if (Reversi[i][j] <= 1) {  //เงื่อนไขที่ว่า Reversi [i][j] มีค่าเท่ากับ 1 หรือไม่ ถ้าใช่จะสร้างวงกลมตามที่กำหนดด้วยฟังก์ชั่นวาดวงรี พร้อมกำหนดใส่สีดำ หรือสีขาว
        fill(#000000);  //สีดำ
      }
      else {  //ฟังก์ชั่นที่ใช้กำหนดอีกเงื่อนไขหนึ่ง
        fill(#FFFFFF);  //สีขาว
      }
      strokeWeight(2);  //ฟังก์ชั่นที่ใช้ในการกำหนดน้ำหนักของเส้นโดยใส่ตัวเลขลงไปในวงเล็บ
      ellipse(x, y, 35, 35);  //วาดวงกลมสองชั้นเพื่อทำเป็นเบี้ยในกระดานเล่นเกม
      x = x+50;  //ค่า x จะมีค่าเพิ่มขึ้นทีละ 50 ในเงื่อนไขนี้ หากเป็นจริง
      j = j+1;  //ค่า j จะมีค่าเพิ่มขึ้นทีละ 1 ในเงื่อนไขนี้ หากเป็นจริง
    }
    j = 0;    //กำหนดให้ค่าของตัวแปรทั้งหมดนี้ใหม่ หลังจากที่ผ่านลูปชั้นก่อนนี้มา หากเป็นจริงจะสิ้นสุดการวนลูป หากไม่เป็นจริง จะยังคงทำการวนลูปซ้ำต่อไป
    x = 25;
    y = y+50;  //ค่า y จะมีค่าเพิ่มขึ้นทีละ 50 ในเงื่อนไขนี้ หากเป็นจริง
    i = i+1;  //ค่า i จะมีค่าเพิ่มขึ้นทีละ 1 ในเงื่อนไขนี้ หากเป็นจริง
  }
}

CHESS



 int x = 0;  //กำหนดตัวแปรชนิด Global Variable เพื่อให้แทนค่าได้ทุกฟังก์ชั่น ตัวนี้เป็นค่าในแกน X นอกจากนี้ตัวแปรทุกตัวถูกกำหนดให้เป็นจำนวนเต็มด้วยฟังก์ชั่นที่นำหน้า int
int y = 0;  //กำหนดค่าในแกน Y
int blackwhite = 0;  //ค่ากำหนดสีของตารางหมากรุก
int [][] chess= {  //ตัวกำหนดว่า จะวาดอะไรบนกระดาน
  {
    1, 2, 3, 4, 5, 3, 2, 1
  }  //กำหนดตำแหน่งของเรือ ม้า บิชอป ควีน ขุน บิชอป ม้า และเรือ ตามลำดับ ทั้งหมด 8 ตัว ฝ่ายสีดำ
  , {
    6, 6, 6, 6, 6, 6, 6, 6
  }  //กำหนดตำแหน่งของเบี้ยทั้ง 8 ตัวตามลำดับบนแถวเดียวกัน ฝ่ายสีดำ
  , {
    0, 0, 0, 0, 0, 0, 0, 0
  }  //พื้นที่ว่างที่มีลายแถบสี
  , {
    0, 0, 0, 0, 0, 0, 0, 0
  }  //พื้นที่ว่างที่มีลายแถบสี
  , {
    0, 0, 0, 0, 0, 0, 0, 0
  }  //พื้นที่ว่างที่มีลายแถบสี
  , {
    0, 0, 0, 0, 0, 0, 0, 0
  }  //พื้นที่ว่างที่มีลายแถบสี
  , {
    6, 6, 6, 6, 6, 6, 6, 6
  }  //กำหนดตำแหน่งของเบี้ยทั้ง 8 ตัวตามลำดับบนแถวเดียวกัน ฝ่ายสีขาว
  , {
    1, 2, 3, 4, 5, 3, 2, 1
  }  //กำหนดตำแหน่งของเรือ ม้า บิชอป ควีน ขุน บิชอป ม้า และเรือ ตามลำดับ ทั้งหมด 8 ตัว ฝ่ายสีขาว
};
int i = 0;  //ตัวนับ Array
int j = 0;  //ตัวนับ Array
void setup() {  //ฟังก์ชั่นหลักที่ใช้ในการกำหนดเรียกใช้งานฟังก์ชั่นต่างๆ
  size(400, 400);  //กำหนด canvas 400x400
  noStroke();  //ฟังก์ชั่นหลักที่ใช้ในการระบุว่า ไม่มีขอบ
  //การวาดตาราง
  while (y <= 400) {  //กำหนดเงื่อนไขเป็นลูป ถ้าเงื่อนไขภายในเป็นจริง จึงจะเกิดลูป
    while (x <= 400) {
      if (blackwhite == 0) {  //กำหนดเงื่อนไขภายในวงเล็บ ถ้าเป็นจริง จะเกิดผล
        fill(#808080);  //เติมสีเทา
        blackwhite = 1;
      }
      else if (blackwhite == 1) {  //กำหนดเงื่อนไขอีกกรณีหนึ่ง
        fill(#DCDCDC);  //เติมสีเทาอ่อน
        blackwhite = 0;
      }
      rect(x, y, 50, 50);  //ฟังก์ชั่นที่ใช้ในการวาดรูปสี่เหลี่ยม หรือ rect(x, y, width, height)
      x = x+50;  //ค่า x มีค่าเพิ่มขึ้นทีละ 50
    }
    x = 0;
    y = y+50;
  }
  x = 25;  //ค่าในแกน X ของตัวหมาก
  y = 25;  //ค่าในแกน Y ของตัวหมาก
  //การสร้างตัวหมากรุก
  while(i < chess.length) {  //กรณีที่ i มีค่าน้อยกว่าความยาวของ Array ชื่อ chess
   while(j < chess[i].length) {  //การกำหนดตัวหมาก
     if(chess[i][j] == 1) {
     //วาดเรือ
     rook(x, y);
     } else if(chess[i][j] == 2) {
     //วาดม้า
     knight(x, y);
     } else if(chess[i][j] == 3) {
     //วามบิชอป
     bishop(x, y);
     } else if(chess[i][j] == 4) {
     //วาดควีน
     queen(x, y);
     } else if(chess[i][j] == 5) {
     //วาดขุน
     king(x, y);
     } else if(chess[i][j] == 6) {
     //วาดเบี้ย
     pawn(x, y);
    }
    x = x+50;  //เลื่อนตำแหน่งตัวหมาก
    j = j+1;
   }
   j = 0;
   x = 25;
   y = y+50;
   i = i+1;
  }
}
void rook(int x, int y) {  //ฟังก์ชั่นที่ใช้ในการสร้างเรือ
  noStroke();
  if(y < 300) {
   fill(#000000);  //เติมสีดำ
  } else if(y > 300) {
   fill(#FFFFFF);   //เติมสีขาว
  }
 int h = x-15;
 int k = y-20;
 rect(h, k+5, 6, 10);
 rect(h+12, k+5, 6, 10);
 rect(h+24, k+5, 6, 10);
 rect(h, k+10, 30, 5);
 rect(h+7, k+10, 16, 30);
 rect(h, k+35, 30, 5);
}
void knight(int x, int y){  //ฟังก์ชั่นที่ใช้ในการวาดม้า
  noStroke();
  if(y < 300){
   fill(#000000);
  } else if(y > 300){
   fill(#FFFFFF);
  }
  int h = x-13;
  int k = y-8;
  rect(h, k, 18, 10);
  triangle(h, k, h+20, k, h+15, k-10);  //ฟังก์ชั่นที่ใช้ในการวาดรูปสามเหลี่ยม หรือ triangle(x1, y1, x2, y2, x3, y3)
  triangle(h+20, k-10, h+5, k+25, h+25, k+25);
  triangle(h+15, k-10, h+15, k, h+25, k-10);
  if(y < 200) {
   fill(#FFFFFF);
  } else if(y > 200){
   fill(#000000);
  }
  ellipse(h+13, k, 3, 3);
}
void bishop(int x, int y) {  //ฟังก์ชั่นที่ใช้ในการวาดบิชอป
  noStroke();
  if(y < 300) {
   fill(#000000);
  } else if(y > 300){
   fill(#FFFFFF);
  }
  int h = x;
  int k = y-15;
  triangle(h, k, h+15, k+13, h-15, k+13);
  ellipse(h, k+15, 30, 15);  //ฟังก์ชั่นที่ใช้ในการวาดวงรี หรือ ellipse(x, y, width, height)
  ellipse(h, k, 5, 5);
  triangle(h, k, h-10, k+30, h+10, k+30);
  stroke(#FFFFFF);  //ฟังก์ชั่นที่ใช้ในการเติมสีในเส้น ใช้แบบเดียวกับฟังก์ชั่น fill() สีที่ใส่นี้คือ สีขาว
  if(y < 200) {
   stroke(#FFFFFF);
  } else if(y > 300) {
   stroke(#000000);
  }
  strokeWeight(3);  //ฟังก์ชั่นที่ใช้ในการเพิ่มความหนาของเส้นของสิ่งต่างๆ
  line(h, k+8, h, k+16);  //ฟังก์ชั่นที่ใช้ในการวาดเส้น หรือ line(x1, y1, x2, y2)
  line(h-4, k+12, h+4, k+12);
}
void queen(int x, int y) {  //ฟังก์ชั่นที่ใช้ในการวาดควีน
  noStroke();
  if(y < 300){
   fill(#CC00FF);
  } else if(y > 300){
   fill(#FFFFFF);
  }
  int h = x-13;
  int k = y+5;
  rect(h, k, 26, 10);
  triangle(h, k+10, h+5, k, h-3, k-13);
  triangle(h+5, k, h+13, k, h+8, k-15);
  triangle(h+13, k, h+21, k, h+19, k-15);
  triangle(h+26, k+10, h+21, k, h+29, k-13);
  ellipse(h-3, k-13, 5, 5);
  ellipse(h+8, k-15, 5, 5);
  ellipse(h+19, k-15, 5, 5);
  ellipse(h+29, k-13, 5, 5);
}
void king(int x, int y) {  //ฟังก์ชั่นที่ใช้ในการวาดขุน
  noStroke();
  if(y < 300){
   fill(#000000);
  } else if(y > 300){
   fill(#FFFFFF);
  }
  int h = x-14;
  int k=y;
  rect(h, k, 27, 13);
  triangle(h, k, h, k-13, h+9, k);
  triangle(h+9, k, h+14, k-13, h+18, k);
  triangle(h+18, k, h+27, k, h+27, k-13);
  if(y < 300) {
   fill(#FFFFFF);
  } else if(y > 300) {
   fill(#000000);
  }
  ellipse(h+5, k+5, 4, 4);
  ellipse(h+14, k+5, 4, 4);
  ellipse(h+22, k+5, 4, 4);
  strokeWeight(4);
  if(y < 300) {
   stroke(#000000);
  } else if(y > 300) {
   stroke(#FFFFFF);
  }
  line(h+14, k-10, h+14, k-18);
  line(h+11, k-14, h+16, k-14);
}
void pawn(int x, int y) {  //ฟังก์ชั่นที่ใช้ในการวาดเบี้ย
  noStroke();
  if(y < 300) {
   fill(#000000);
  } else if(y > 300) {
   fill(#FFFFFF);
  }
  int h = x;
  int k = y-8;
  ellipse(h, k+8, 35, 35);
  fill(#000000);
  ellipse(h, k+8, 25, 25);
  fill(#FFFFFF);
  ellipse(h, k+8, 15, 15);
  //triangle(h, k, h-20, k+50, h+20, k+50);
}

Square Moving UFO

void setup() { //ฟังก์ชั่นหลักที่ใช้ในการกำหนดค่า และเรียกใช้สิ่งต่างๆ เป็นฟังก์ชั่นที่ไม่มีการวกกลับ size(500, 500); //ฟังก์ชั่นที่ใช้ในการกำหนดขนาดของพื้นที่ หรือ size(width, height) } Ufo a = new Ufo(250, 250, 250, 2, "up", "red"); //UFO a สีแดง จุดเริ่มอยู่แกน X 250 แกน Y 250 ขนาด 250 ความเร็ว 2 เริ่มด้วยการขยับขึ้น Ufo b = new Ufo(250, 250, 100, 7, "down", "yellow"); //UFO b สีเหลือง จุดเริ่มอยู่แกน X 250 แกน Y 250 ขนาด 100 ความเร็ว 7 เริ่มด้วยการขยับขึ้น Ufo c = new Ufo(250, 250, 50, 10, "right", "brown"); //UFO c สีน้ำตาล จุดเริ่มอยู่แกน X 250 แกน Y 250 ขนาด 50 ความเร็ว 10 เริ่มด้วยการขยับขึ้น Ufo d = new Ufo(250, 250, 200, 5, "left", "green"); //UFO d สีเขียว จุดเริ่มอยู่แกน X 250 แกน Y 250 ขนาด 200 ความเร็ว 5 เริ่มด้วยการขยับขึ้น void draw() { //ฟังก์ชั่นหลักที่ใช้ในการวาด background(#191970); //ฟังก์ชั่นที่ใช้ในการเติมสีให้กับพื้นหลัง a.void setup() { //ฟังก์ชั่นหลักที่ใช้ในการกำหนดค่า และเรียกใช้สิ่งต่างๆ เป็นฟังก์ชั่นที่ไม่มีการวกกลับ size(500, 500); //ฟังก์ชั่นที่ใช้ในการกำหนดขนาดของพื้นที่ หรือ size(width, height) } Ufo a = new Ufo(250, 250, 250, 11, "up", "red"); //UFO a สีแดง จุดเริ่มอยู่แกน X 250 แกน Y 250 ขนาด 250 ความเร็ว 11เริ่มด้วยการขยับขึ้น Ufo b = new Ufo(250, 250, 100, 5, "down", "yellow"); //UFO b สีเหลือง จุดเริ่มอยู่แกน X 250 แกน Y 250 ขนาด 100 ความเร็ว 5เริ่มด้วยการขยับขึ้น Ufo c = new Ufo(250, 250, 50, 20, "right", "brown"); //UFO c สีน้ำตาล จุดเริ่มอยู่แกน X 250 แกน Y 250 ขนาด 50 ความเร็ว 20 เริ่มด้วยการขยับขึ้น Ufo d = new Ufo(250, 250, 200, 6, "left", "green"); //UFO d สีเขียว จุดเริ่มอยู่แกน X 250 แกน Y 250 ขนาด 200 ความเร็ว 6 เริ่มด้วยการขยับขึ้น void draw() { //ฟังก์ชั่นหลักที่ใช้ในการวาด background(#9400D3); //ฟังก์ชั่นที่ใช้ในการเติมสีให้กับพื้นหลังให้เป็นสีม่วง a.display(); //แสดง UFO a b.display(); //แสดง UFO b c.display(); //แสดง UFO c d.display(); //แสดง UFO d } class Ufo { //สร้าง class ชื่อ UFO สำหรับการเก็บข้อมูล int x, y, w, i; //กำหนดตัวแปรทั้งสี่เป็นจำนวนเต็มเพื่อให้เก็บค่าแกน X แกน Y ความกว้าง และการนับ ตามลำดับ String d, s; //กำหนดเพื่อเก็บทิศทาง int stop; //กำหนดตัวแปรนี้เพื่อเป็นตัวหยุด String tron; //กำหนดเพื่อเก็บค่าสี int speed; //กำหนดตัวแปรนี้เพื่อเก็บความเร็ว Ufo(int x, int y, int w, int s, String d, String c) { this.x = x; this.y = y; this.w = w; this.d = d; this.i = 0; this.stop = 0; this.tron = c; this.speed = s; } void display() { //ฟังก์ชั่นที่สร้างขึ้นเพื่อแสดง UFO Control(); //ตัวควบคุม float h = this.w/3; noStroke(); if(tron.equals("blue")) { fill(#4169E1); //สีฟ้า } else if(tron.equals("pink")) { fill(#FF1493); //สีชมพู } else if(tron.equals("orange")) { fill(#FFA500); //สีเหลือง } else if(tron.equals("green")) { fill(#00FA9A); //สีเขียว } strokeWeight(3); //ฟังก์ชั่นสำหรับการเพิ่มความหนาของเส้น stroke(0); //ฟังก์ชั่นสำหรับการเติมสีในเส้น โดยสีที่ใส่ไปคือสีดำ ellipse(this.x, this. y, this.w, h); //ฟังก์ชั่นสำหรับการวาดวงรี หรือ ellipse(x, y, width, height) float q = this.y-2*h/5, p=this.w-h, u=h; ellipse(this.x, q, p, u); fill(random(0,255),random(50,255),random(0,255)); //ฟังก์ชั่นที่ใช้ในการเติมสีให้กับสิ่งต่างๆ โดยกำหนดให้เป็นไปตามแม่สี หรือเครื่องหมาย # รวมทั้งฟังก์ชั่น โดยสีที่ใส่ไปนี้ให้ออกมาแบบสุ่มตามฟังก์ชั่น random float r = h/5; ellipse(this.x, q, r, r); ellipse(this.x+3*h/5, q, r, r); ellipse(this.x-3*h/5, q, r, r); } void Control() { //ฟังก์ชั่นสำหรับการควบคุม Motion(); //เคลื่อนตามเข้ม Pressed(); //สร้างขึ้นเพื่อการกด Ufo //กำหนดเงื่อนไขเมื่อมีทิศทางตามนี้ if(d.equals("up")) { y = y-this.speed; } else if(d.equals("down")) { y = y+this.speed; } else if(d.equals("right")) { x = x+this.speed; } else if(d.equals("left")) { x = x-this.speed; } else if(d.equals("stop")) { } } void Motion() { //ฟังก์ชั่นเพื่อกำหนดการเคลื่อนที่ตามเข้ม if(x>=500-this.w/2&&y<500-this.w/6) { d = "down"; } else if(y>=500-this.w/6&&x>this.w/2) { d = "left"; } else if(x<=this.w/2&&y>(this.w-this.w/3)/2) { d = "up"; } else if(y<=this.w/6+2*w/15&&x<500-this.w/2) { d = "right"; } } void Pressed() { //ฟังก์ชั่นเพื่อการกด UFO float star1 = sqrt((w/2)*(w/2)-(w/6)*(w/6)); float h1 = this.x+star1; float h2 = this.x-star1; float star2 = sqrt((h1-mouseX)*(h1-mouseX)+(this.y-mouseY)*(this.y-mouseY)); float star3 = sqrt((h2-mouseX)*(h2-mouseX)+(this.y-mouseY)*(this.y-mouseY)); float star4 = star2+star3; if(star4<=w&&mousePressed) { if(stop==0&&i%7==0) { d = "stop"; stop = 1; } else if(stop==1&&i%10==0) { stop = 0; } } float star5 = sqrt(((w-w/3)/2)*((w-w/3)/2)-(w/6)*(w/6)); float h3 = this.x+star1; float h4 = this.x-star1; float star6 = sqrt((h3-mouseX)*(h3-mouseX)+(y-2*w/15-mouseY)*(y-2*w/15-mouseY)); float star7 = sqrt((h4-mouseX)*(h4-mouseX)+(y-2*w/15-mouseY)*(y-2*w/15-mouseY)); float star8 = star6+star7; if(star8<=w&&mousePressed) { if(stop==0&&i%7==0) { d = "stop"; stop = 1; } else if(stop==1&&i%10==0) { stop = 0; } } if(stop==1) { d = "stop"; } i = i+1; } }display(); //แสดง UFO a b.display(); //แสดง UFO b c.display(); //แสดง UFO c d.display(); //แสดง UFO d } class Ufo { //สร้าง class ชื่อ UFO สำหรับการเก็บข้อมูล int x, y, w, i; //กำหนดตัวแปรทั้งสี่เป็นจำนวนเต็มเพื่อให้เก็บค่าแกน X แกน Y ความกว้าง และการนับ ตามลำดับ String d, s; //กำหนดเพื่อเก็บทิศทาง int stop; //กำหนดตัวแปรนี้เพื่อเป็นตัวหยุด String tron; //กำหนดเพื่อเก็บค่าสี int speed; //กำหนดตัวแปรนี้เพื่อเก็บความเร็ว Ufo(int x, int y, int w, int s, String d, String c) { this.x = x; this.y = y; this.w = w; this.d = d; this.i = 0; this.stop = 0; this.tron = c; this.speed = s; } void display() { //ฟังก์ชั่นที่สร้างขึ้นเพื่อแสดง UFO Control(); //ตัวควบคุม float h = this.w/3; noStroke(); if(tron.equals("red")) { fill(#CD5C5C); //สีแดง } else if(tron.equals("brown")) { fill(#F4A460); //สีน้ำตาล } else if(tron.equals("yellow")) { fill(#FAFAD2); //สีเหลือง } else if(tron.equals("green")) { fill(#7CFC00); //สีเขียว } strokeWeight(3); //ฟังก์ชั่นสำหรับการเพิ่มความหนาของเส้น stroke(0); //ฟังก์ชั่นสำหรับการเติมสีในเส้น โดยสีที่ใส่ไปคือสีดำ ellipse(this.x, this. y, this.w, h); //ฟังก์ชั่นสำหรับการวาดวงรี หรือ ellipse(x, y, width, height) float q = this.y-2*h/5, p=this.w-h, u=h; ellipse(this.x, q, p, u); fill(random(0,255),random(50,255),random(0,255)); //ฟังก์ชั่นที่ใช้ในการเติมสีให้กับสิ่งต่างๆ โดยกำหนดให้เป็นไปตามแม่สี หรือเครื่องหมาย # รวมทั้งฟังก์ชั่น โดยสีที่ใส่ไปนี้ให้ออกมาแบบสุ่มตามฟังก์ชั่น random float r = h/5; ellipse(this.x, q, r, r); ellipse(this.x+3*h/5, q, r, r); ellipse(this.x-3*h/5, q, r, r); } void Control() { //ฟังก์ชั่นสำหรับการควบคุม Motion(); //เคลื่อนตามเข้ม Pressed(); //สร้างขึ้นเพื่อการกด Ufo //กำหนดเงื่อนไขเมื่อมีทิศทางตามนี้ if(d.equals("up")) { y = y-this.speed; } else if(d.equals("down")) { y = y+this.speed; } else if(d.equals("right")) { x = x+this.speed; } else if(d.equals("left")) { x = x-this.speed; } else if(d.equals("stop")) { } } void Motion() { //ฟังก์ชั่นเพื่อกำหนดการเคลื่อนที่ตามเข้ม if(x>=500-this.w/2&&y<500-this.w/6) { d = "down"; } else if(y>=500-this.w/6&&x>this.w/2) { d = "left"; } else if(x<=this.w/2&&y>(this.w-this.w/3)/2) { d = "up"; } else if(y<=this.w/6+2*w/15&&x<500-this.w/2) { d = "right"; } } void Pressed() { //ฟังก์ชั่นเพื่อการกด UFO float star1 = sqrt((w/2)*(w/2)-(w/6)*(w/6)); float h1 = this.x+star1; float h2 = this.x-star1; float star2 = sqrt((h1-mouseX)*(h1-mouseX)+(this.y-mouseY)*(this.y-mouseY)); float star3 = sqrt((h2-mouseX)*(h2-mouseX)+(this.y-mouseY)*(this.y-mouseY)); float star4 = star2+star3; if(star4<=w&&mousePressed) { if(stop==0&&i%7==0) { d = "stop"; stop = 1; } else if(stop==1&&i%10==0) { stop = 0; } } float star5 = sqrt(((w-w/3)/2)*((w-w/3)/2)-(w/6)*(w/6)); float h3 = this.x+star1; float h4 = this.x-star1; float star6 = sqrt((h3-mouseX)*(h3-mouseX)+(y-2*w/15-mouseY)*(y-2*w/15-mouseY)); float star7 = sqrt((h4-mouseX)*(h4-mouseX)+(y-2*w/15-mouseY)*(y-2*w/15-mouseY)); float star8 = star6+star7; if(star8<=w&&mousePressed) { if(stop==0&&i%7==0) { d = "stop"; stop = 1; } else if(stop==1&&i%10==0) { stop = 0; } } if(stop==1) { d = "stop"; } i = i+1; } }

MATRIX CACULATION



 void setup() {  //ฟังก์ชั่นหลักที่ใช้ในการกำหนด และเรียกใช้ ไม่มีการ return
 int[][] num1 = {  //สร้าง Array 2 มิติที่เป็นจำนวนเต็ม  
    {
      10, 24, 99
    }
    , {
      12, 28, 88
    }
    , {
      15, 24, 111
    }
  };
  int[][] num2 = {
    {
      22, 33, 52
    }
    , {
      23, 44, 221
    }
    , {
      20, 53, 19
    }
  };
int[][] sum = new int[2][3];  //เป็นการกำหนดค่าความกว้างของArrayแต่ละมิติ โดยช่องแรกกำหนดว่าจะมีความกว้างของ index เท่าไร และช่องที่ 2 กำหนดว่าข้างในของแต่ละ index จะมีความกว้างเท่าไร
int y = 20, x;
int i, j;
for (i=0;i<num1.length;i++) {  //คล้ายกับคำสั่ง while แต่ต่างกันตรงที่การกำหนดเงื่อนไขที่รวมไว้ในบรรทัดเดียว
    x=1;
    for (j=0;j<num1[i].length;j++) {
      sum[i][j] = num1[i][j]+num2[i][j];
      fill(0);
      text(" "+sum[i][j], x, y);  //เป็นคำสั่งแสดงข้อความ หรือ text ("ข้อความ"+ค่าที่ต้องการแสดง, ตำแหน่งแกน X,  Y)
      x = x+20;
    }
    y = y+40;
  }
}