วันอาทิตย์ที่ 22 กันยายน พ.ศ. 2556

Continue





void setup() {
  for(int i = 0; i < 100; i += 5) {
    if (i == 50) {
      continue;
    }
   line(i, 0, i, 100);
  }
}

Chess




int r = 38;
void setup(){
  size(400, 400);
  int x, y, i, j;
int[][] Chess= {
 {
 2, 3, 4, 6, 5, 4, 3, 2
 }
 , {
 1, 1, 1, 1, 1, 1, 1, 1
 }
 , {
 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
 }
 , {
 1, 1, 1, 1, 1, 1, 1, 1
 }
 , {
 2, 3, 4, 6, 5, 4, 3, 2
 }
 };
  strokeWeight(4);
   for (y=0,i=0 ; i<Chess.length ; i++,y+=50){
    for (x=0,j=0 ; j<Chess.length ; j++,x+=50){
      if ((j+i)%2 == 0){
       fill(66, 217, 146);
     }
     else fill(192);
     rect(x, y, 200, 200);
   }
}
  for (y=25,i=0 ; i<Chess.length ; i++,y+=50){
    for (x=25,j=0 ; j<Chess.length ; j++,x+=50){
      if (y<200){
        fill(0);
      }
      else{
        fill(255);
     }
  if (Chess[i][j]==1){
   Prawn(x, y);
  }
  else if (Chess[i][j]==2){
    Rook(x, y);
  }
  else if (Chess[i][j]==3){
    Knight(x, y);
  }
  else if (Chess[i][j]==4){
    Bishop(x, y);
  }
else if (Chess[i][j]==5){
    Queen(x, y);
 }
else if (Chess[i][j]==6){
  King(x, y);
}
}
}
}

void Rook(int x, int y){
  ellipse(x, y, r, r);
  fill(255,0,0);
  text("Rook", x-14, y+4);
}

void Knight(int x, int y){
  ellipse(x, y, r, r);
  fill(255,0,0);
  text("Knight", x-17, y+4);
}

void Bishop(int x, int y){
  ellipse(x, y, r, r);
  fill(255,0,0);
  text("Bishop", x-18, y+4);
}

void Queen(int x, int y) {
  ellipse(x, y, r, r);
  fill(255,0,0);
  text("Queen", x-18, y+4);
}

void King(int x, int y) {
  ellipse(x, y, r, r);
  fill(255,0,0);
  text("King", x-12, y+4);
}

void Prawn(int x, int y){
  ellipse(x, y, r, r);
}

base&derived class






void setup() {
  Animal a = new Animal();
  Animal b = new Dog();
  a.move();
  b.move();
}

class Animal {
  void move() {
  println("Animal move >w<");
  }
}

class Dog extends Animal {
  void move() {
  println("Dog move -w-");
  }
}

gcd & lcd




void setup(){
  int x = 4;
  int y = 6;
  println(gcd(x,y));
  println(lcd(8, 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);
  }
}

int lcd(int x, int y) {
return (x*y)/gcd(x, y);
}

Button







void setup() {
  size(200, 200);
  background(255);
  println(a.toString());
  println(b.toString());
  a.Clicked();
  a.Display();
}

Button a = new Button("moowan", 100, 100, 50);
Button b = new Button();

void draw() {
  a.Display();
  b.Display();
}

class Button {
  int k = 0;
  int x;
  int y;
  int s;
  String name;

  Button(String n, int a, int b, int c) {
    this.name = n;
    this.x = a;
    this.y = b;
   this.s = c;
  }

  Button() {
    this.name = "Kananard";
    this.x = 50;
    this.y = 50;
    this.s = 20;
  }

  String toString() {
    String s = this.name;
    return s;
  }

  void Clicked() {
    if ((mousePressed && mouseX >=x && mousePressed && mouseX <=x + s) && (mousePressed && mouseY >= y && mousePressed && mouseY <= y + s)) {
      if (k % 8 == 0) {
        println(this.name);
      }
      k = k + 1;
    }
  }
  void Display() {
    rect(x, y, s, s);
    a.Clicked();
    b.Clicked();
   }
}

Palindrome








void setup(){
  String s = "CIVIC";
  if (isPalindrome(s)) {
    println(s + " is a palindrome");
  }
  else {
    println(s + " is not a palindrome");
  }
}

String reverseString(String s){
  String show = "";
  for (int index=0;index<s.length();index++){
    show += s.charAt(s.length() - index - 1);
  }
   return show;
}

boolean isPalindrome(String s){
  return s.equals(reverseString(s));
}

ReverseString




void setup(){
  println(reverseString("Computer"));
}

String reverseString(String s){
  String show = "";
  for(int index=0;index<s.length();index++){
    show += s.charAt(s.length() - index - 1);
  }
  return show;
}


Tic-Tac-Toe(OX)








void setup()
{
  size(600, 600);
  background(255);
  strokeWeight(8);
  stroke(0);
  int i, j ,xPos ,yPos;
  int xLine, yLine;
  int[][] Pieces=new int[3][3];
  for (xLine=200,yLine=200 ; xLine<=400 && yLine<=400 ; xLine+=200,yLine+=200)
  {
    line(xLine, 0, xLine, height);
    line(0, yLine, width, yLine);
  }
  for (i=0,xPos=100;i<Pieces.length;i++,xPos+=200)
  {
    for (j=0,yPos=100;j<Pieces.length;j++,yPos+=200)
    {
      Pieces[i][j]=int(random(0,2));
      if (Pieces[i][j]%2==0)
        {DrawO(xPos, yPos);}
      else DrawX(xPos, yPos);
  }
  }
}

void DrawO(int x, int y)
{
  int r=180;
  strokeWeight(1);
  stroke(0);
  fill(0);
  ellipse(x, y, r, r);
  fill(255);
  ellipse(x, y, r-15, r-15);
}

void DrawX(int x, int y)
{
  strokeWeight(8);
  line(x-90, y-90, x+90, y+90);
  line(x-90, y+90, x+90, y-90);
}

Othello






void setup()
{
  size(400, 400);
  int i;
  int j;
  int[][] Othello = new int[8][8] ;
  int x;
  int y;

  background(44, 132, 0);
  for (x=50 , y=50 ; x < width && y < height ; x += 50,y += 50)
  {
    line(x, 0, x, height);
    line(0, y, width, y);
  }
  noStroke();
  smooth();
  for (i = 0, x = 25 ; Othello.length > i ; i++,x += 50)
  {
    for (j=0, y=25 ; Othello[0].length > j ; j++,y+=50)
    {
      Othello[i][j]= int(random(0, 200));
      if (Othello[i][j]%2 == 0)
      {
        fill(255);
      }
      else
      {
        fill(0);
      }
      ellipse(x, y, 40, 40);
    }
  }
}

วันเสาร์ที่ 21 กันยายน พ.ศ. 2556

Binary Calculate & Display(Plus)








boolean[] A = { false, false, true, false};  // กำหนดตัวแปรชนิด boolean ประเภท array ชื่อ A
boolean[] B = {true, true, false, false};  // กำหนดตัวแปรชนิด boolean ประเภท array ชื่อ B 
boolean[] j =new boolean[4];  // กำหนดตัวแปรชนิด boolean ประเภท array ชื่อ j ใช้ในการทดเลขจากการคำนวณ
boolean[] cal =new boolean[4];  // กำหนดตัวแปรชนิด boolean ประเภท array ชื่อ cal เก็บค่าที่คำนวณได้
int[] plus = new int[5];  // กำหนดตัวแปรชนิด boolean ประเภท array ชื่อ plus ใช้เก็บค่าที่จะใช้แสดง
int i = 0;  // กำหนดตัวแปรชนิด int ชื่อ i เพื่อเรียกใช้ค่าใน array ตำแหน่ง i นั้นๆ
int x = 45;  // กำหนดตัวแปรชนิด int ชื่อ x เพื่อกำหนดจุดที่วาดวงกลมวงแรก
void setup(){
 size(200,200);  // กำหนดขนาดของ screen
  background(195);  // กำหนดสีของ screen เป็นสีเทา
  i = A.length - 1;  // ให้ ค่า i เท่ากับความยาวของ A -1 
  while (i > 0)  // กำหนดเงื่อนไขการวนลูป ถ้า i > 0
  {
    if (A[i] == true && B[i] == true){  // กำหนดเงื่อนไข ถ้า A ที่ตำแหน่ง i มีค่าเป็น true และ B ตำแหน่ง i มีค่าเป็น true
      j[0] = true;  // ให้ j ที่ตำแหน่ง 0 เป็น true
      cal[i] = false;  // ให้ cal ที่ตำแหน่ง i เป็น false 
      if (j[1] == true) {  // กำหนดเงื่อนไข ถ้า j ที่ตำแหน่ง 1 เป็น true
        cal[i] = true;  // ให้ cal ที่ตำแหน่ง i เป็น true 
      }
      else {  // ถ้า j ที่ตำแหน่ง 1 ไม่เป็น true
         cal[i]=false;  // ให้ cal ที่ตำแหน่ง i เป็น false 
      }
      j[1] = j[0];  // ให้ค่า j ที่ตำแหน่ง 1 เท่ากับค่า j ที่ตำแหน่ง 0
    }
    else if (A[i] == false && B[i] == false){  // กำหนดเงื่อนไข ถ้า A ที่ตำแหน่ง i มีค่าเป็น false และ B ตำแหน่ง i มีค่าเป็น false                                   
      j[0] = false;  // ให้ j ที่ตำแหน่ง 0 เป็น false
      cal[i] = false;  // ให้ cal ที่ตำแหน่ง i เป็น false   
      if (j[1] == true){  // กำหนดเงื่อนไข ถ้า j ที่ตำแหน่ง 1 เป็น true
        cal[i] = true;  // ให้ cal ที่ตำแหน่ง i เป็น true 
      }
      else{  // ถ้า j ที่ตำแหน่ง 1 ไม่เป็น true
        cal[i] = false;  // ให้ cal ที่ตำแหน่ง i เป็น false 
      }
      j[1] = j[0];  // ให้ค่า j ที่ตำแหน่ง 1 เท่ากับค่า j ที่ตำแหน่ง 0
    }
    else{ // ถ้านอกเหนือจากเงื่อนไขข้างต้น
      j[0] = false;  // ให้ j ที่ตำแหน่ง 0 เป็น false
      cal[i] = true;  // ให้ cal ที่ตำแหน่ง i เป็น true 
      if (j[1] == true){ // ถ้า j ที่ตำแหน่ง 1 เป็น true
        cal[i] = false;  // ให้ cal ที่ตำแหน่ง i เป็น false
        j[0] = true;  // ให้ j ที่ตำแหน่ง 0 เป็น true
      }
      else{ // ถ้านอกเหนือจากเงื่อนไขข้างต้น
        cal[i] = true; // ให้ cal ที่ตำแหน่ง i เป็น true
      }
      j[1] = j[0]; // ให้ j ที่ตำแหน่ง 1 เท่ากับค่า j ที่ตำแหน่ง 0 
    }
    i = i - 1;  // ให้ i เพิ่มขึ้นเรื่อยๆทีละ 1 
  }
   i = 0;  // ให้ i เท่ากับ 0
   if(A[0] == true && B[0] == true){  // กำหนดเงื่อนไข ถ้า A ที่ตำแหน่ง 0 เป็น true และ B ที่ตำแหน่ง 0 เป็น true                                  
     fill(104, 34 ,139);  // กำหนดสีเป็นสีม่วง
     ellipse(x,120,30,30);  // วาดวงกลม
   }
   while (i < A.length) {  // กำหนดเงื่อนไขการวนลูป ถ้า i > A.length
     if (cal[i] == true){ // กำหนดเงื่อนไข ถ้า cal ท่ตำแหน่ง i เป็น true
       plus[i] = 1;  // ให้ plus ที่ตำแหน่ง i เป็น 1
       fill(0,128,128); // กำหนดสีเป็นสีฟ้า
       ellipse(x,120,30,30); // วาดวงกลม
       x = x + 30; // ให้ค่า x เพิ่มขึ้นเรื่อยๆที่ละ 30
     }
     if (cal[i] == false){ // กำหนดเงื่อนไข ถ้า cal ท่ตำแหน่ง i เป็น false
       plus[i] = 0;  // ให้ plus ที่ตำแหน่ง i เป็น 0
       fill(255); // กำหนดสีให้เป็นสีขาว
       ellipse(x,120,30,30); // วาดวงกลม
       x = x + 30; // ให้ค่า x เพิ่มขึ้นเรื่อยๆที่ละ 30
     }
     i = i + 1; // ให้ค่า i เพิ่มขึ้นเรื่อยๆทีละ 1
   }
  if(A[0] == true && B[0] == true){ // กำหนดเงื่อนไข ถ้า A ที่ตำแหน่ง 0 เป็น true และ B ที่ตำแหน่ง 0 เป็น true                                        
    fill(0); // กำหนดสีเป็นสีดำ
    textFont(createFont("Cordia New",26));  // กำหนดฟรอนต์เป็น Cordia New ขนาด 26
    text("Plus is" + " " + "1" + plus[0] + plus[1] + plus[2] + plus[3],45,70); // แสดงค่า
  }
  else{  // ถ้านอกเหนือจากเงื่อนไขข้างต้น
    fill(0);  // กำหนดสีเป็นสีดำ
    textFont(createFont("Cordia New",26));  // กำหนดฟรอนต์เป็น Cordia New ขนาด 26
    text("Plus is" + " " + plus[0] + plus[1] + plus[2] + plus[3],45,70);  // แสดงค่า
  }
}

วันศุกร์ที่ 20 กันยายน พ.ศ. 2556

Solar System





int[ ] moon = {0, 0, 1, 2, 63, 62, 27, 15};
float[ ] distance = {0.4+.5, 0.7+.5, 1.0+.5, 1.4+.5, 3.0+.5, 4.7+.5, 6.3+.5,7.5+.5};
float[ ] Radius = {7.2, 18.0, 20.0, 10.6, 70.0, 50.0, 40.0, 35.0};
String[ ] names= {"Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"};
int n = 0;

void setup() {
  size(800, 500);
  background(0);
  smooth();
}
void draw() {
  fill(255,153,0);
  drawCircle(-550,height/2,1200);
  while (n < moon.length) {
     Star(90 * distance[n], height/2, Radius[n]);
     text(names[n],90 * distance[n] - 15 ,height/2 + 60 + (n * 10));
     n = n + 1;
  }
}

void Star(float x, int y, float r) {
  fill (random(255),random(255),random(255));
  drawCircle(x, y, r) ;
  int b = 1;
  while (b <= moon[n]) {
    float a = 360/moon[n];
    a = a * b;
    fill(random(255),random(255),random(255));
    drawCircle((r*cos(a))+x, ((r*sin(a))+y-(r*sin(90)))+r, 5);
    noFill();
    b = b + 1;
  }
}

void drawCircle(float x, float y, float r) {
  ellipse(x, y, r, r);
}

วันจันทร์ที่ 16 กันยายน พ.ศ. 2556

VERMIN THE GAME (BETA VERSION) [nintendo game and watch]





Press 'd' or 'j' to move left or right 
for Hit a something in your game
THAT's AUTOMATIC

FONTS = NOT WORKING IN BROWSERS
IF YOU CAN RUN IN SOFTWARE [PROCESSING 2.0]

PLEASE.....RUN IT ^^ FOR Beautiful animation 

Designed : 

     Name of function

           - keypressed ไม่มี Parameter ไม่มี return value ใช้สำหรับ รับค่าของ User (interface)
           - DrawBackground ไม่มี Parameter ไม่มี return value ใช้สำหรับ วาดภาพพื้นหลังของเกม
           - DrawCharacter ไม่มี Parameter ไม่มี return value ใช้สำหรับ วาดตัวละครในตัวเกม
           - update1 ไม่มี Parameter ไม่มี return value ใช้สำหรับสุ่มค่าจุดเริ่มต้นตำแหน่งและช่องของ ลูกบอล 1
           - update2 ไม่มี Parameter ไม่มี return value ใช้สำหรับสุ่มค่าจุดเริ่มต้นตำแหน่งและช่องของ ลูกบอล 2
           - DrawMonster ไม่มี Parameter ไม่มี return value ใช้สำหรับวาดจุดเริ่มต้นตำแหน่งและช่องของ ลูกบอล 1 และ 2
           - DrawHit ไม่มี Parameter ไม่มี return value  ใช้สำหรับวาดค้อนที่ใช้ทุบ (ตำแหน่งที่ทุบ) เมื่อมีการกดปุ่ม j หรือ k 
           - CountPoint ไม่มี Parameter มี return value คือ ค่า Point (คะแนนที่ได้) ใช้สำหรับนับค่าคะแนนเมื่อค้อนกระทบกับลูกบอล ในระยะที่ถูกต้อง
           - TextShow ไม่มี Parameter ไม่มี return value ใช้สำหรับแสดงผลค่าคะแนน แล้วก็ชื่อเกม รวมไปถึง หน้าต่าง GAME OVER เมื่อเกมจบ 

     Responsible Man

           - Kananard Sathienthai  5601012630019  = DrawBackground(), TextShow(),update1(),update2()
           - Chinnawat Chimdee    5601012630060  = All Function (Main Developer)
           - Tanath Poonnachit      5601012630124  = DrawCharacter(),CountPoint(),ClearGame()

CODE in Game : 

boolean cis = true;
int Width=600;
int Height=400;
int count=0;
int xMove=0;
int i=0;
int Speed=20; //////////// CAN CHANGE
int frame=0;
int[] index = {
  0, 0
};
int[] Slot = {
  0, 110, 220
};
int[] indexMons = new int[2];
int[] PosMons = { //X axis
  80, 190, 300, 410, 520
};
int[] xPosMons = {
  0, 0
};
int[][] yPosMons= {
  {
    300, 280, 250, 210, 180, 150
  }
  ,
  {
    320, 290, 260, 230, 180, 150
  }
};
boolean[] Hit= {
  false, false
};
boolean[] CheckHIT= {
  false, false
};

void setup()
{
  frameRate(10);
  size(Width, Height);
  update1();
  update2();
}
void draw()
{
  DrawBackground();
  DrawCharacter();
  DrawMonster();
  TextShow();
  frame++;
}

void keyPressed() //kEYPRESSED USER BUTTON FOR PLAY
{
  if (key=='j' || key=='J')
  {
    if (xMove<220)
    {
      i++;
    }
  }
  if (key=='f' || key=='F')
  {
    if (xMove>0)
    {
      i--;
    }
  }
  xMove=Slot[i];

  if (key=='r' || key=='R')
  {
    ClearGame();
  }
}

void ClearGame()
{
  i=0;
  frame=0;
  index[0]=0;
  index[1]=0;
  cis = true;
  xMove=0;
  Speed=20;
  yPosMons[0][0]=300;
  yPosMons[1][0]=320;
  count=0;
  update1();
  update2();
  DrawBackground();
  DrawCharacter();
  DrawMonster();
  TextShow();
}

void update1() //update ball 1
{
  indexMons[0]=int(random(0, 5));  //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  xPosMons[0]=PosMons[indexMons[0]];
}
void update2() //update ball 2
{
  indexMons[1]=int(random(0, 5)); //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  xPosMons[1]=PosMons[indexMons[1]];
}

void DrawBackground() //BG - Moowhan
{
  background(100, 100, 255);
  int HeightHalf=Height/2;
  int xStart_Line=0;
  int xEnd_Line=50;
  strokeWeight(0.25);
  line(0, 175, width, 175);
  strokeWeight(4);
  fill(0);
  for (xStart_Line=0 ; xStart_Line<Width ; xStart_Line+=110) {
    xEnd_Line=xStart_Line+50;
    line(xStart_Line, HeightHalf, xEnd_Line, HeightHalf);
  }
}

void DrawCharacter() //Interface Character - Sinn
{
  ellipse(188+xMove, 70, 50, 50);  //Head
  ellipse(188+xMove, 130, 30, 60); //Body
  strokeWeight(4);
  line(160+xMove, 175, 175+xMove, 160);  //LeftLeg
  line(200+xMove, 160, 215+xMove, 175);  //RightLeg
  fill(255);
  strokeWeight(1);
  ellipse(180+xMove, 70, 10, 10); //LeftEye
  ellipse(200+xMove, 70, 10, 10); //RightEye
  ellipse(190+xMove, 85, 30, 5);  //Mouth
  DrawHit();
}

int CountPoint() //CountPoint sinn+wat
{
  for (int j=0;j<2;j++)
  {
    if (index[j]<=5) {
      switch (indexMons[j]) {
      case 0 :
        if (xMove==Slot[0] && yPosMons[j][index[j]] == 180 && CheckHIT[j]==false)
        {
          count++;
          CheckHIT[j]=true;
        }
        break;

      case 1 :
        if (xMove==Slot[1] && yPosMons[j][index[j]] == 180 && CheckHIT[j]==false)
        {
          count++;
          CheckHIT[j]=true;
        }
        break;

      case 2 :
        if ((xMove==Slot[0] || xMove==Slot[2]) && yPosMons[j][index[j]] == 180 && CheckHIT[j]==false)
        {
          count++;
          CheckHIT[j]=true;
        }
        break;

      case 3 :
        if (xMove==Slot[1] && yPosMons[j][index[j]] == 180 && CheckHIT[j]==false)
        {
          count++;
          CheckHIT[j]=true;
        }
        break;

      case 4 :
        if (xMove==Slot[2] && yPosMons[j][index[j]] == 180 && CheckHIT[j]==false)
        {
          count++;
          CheckHIT[j]=true;
        }
        break;
      }
    }
  }
  AutoHit();
  return count;
}

void AutoHit()
{
  for (int q=0;q<2;q++) {
    if (yPosMons[q][index[q]] == 180) {
      if (xMove==Slot[0])
      {
        if (indexMons[q]==0)
        {
          Hit[0]=true;
        }
        if (indexMons[q]==2)
        {
          Hit[1]=true;
        }
      }
      if (xMove==Slot[1])
      {
        if (indexMons[q]==1)
        {
          Hit[0]=true;
        }
        if (indexMons[q]==3)
        {
          Hit[1]=true;
        }
      }
      if (xMove==Slot[2])
      {
        if (indexMons[q]==2)
        {
          Hit[0]=true;
        }
        if (indexMons[q]==4)
        {
          Hit[1]=true;
        }
      }
    }
  }
}

void DrawHit() //draw hammer that hit - wat
{
  fill(0);
  if (Hit[0]==false)
  {
    quad(80+xMove, 20, 50+xMove, 50, 80+xMove, 80, 110+xMove, 50);
    strokeWeight(3);
    line(95+xMove, 67, 125+xMove, 100); //LeftHammerHandle
    strokeWeight(8);
    line(125+xMove, 100, 140+xMove, 117);//LeftHand
    strokeWeight(4);
    line(143+xMove, 120, 160+xMove, 125);//LeftArm
  }//LeftNoHit
  if (Hit[1]==false)
  {
    quad(295+xMove, 20, 265+xMove, 50, 295+xMove, 80, 325+xMove, 50);
    strokeWeight(3);
    line(250+xMove, 100, 280+xMove, 67);//RightHammerHandle
    strokeWeight(8);
    line(235+xMove, 117, 250+xMove, 100);//RightHand
    strokeWeight(4);
    line(213+xMove, 125, 233+xMove, 120);//RightArm
  }//RightNoHit
  if (Hit[0]==true) //ball check and slot check => draw********************************
  {
    quad(60+xMove, 130, 105+xMove, 130, 105+xMove, 175, 60+xMove, 175);//LeftHammer
    strokeWeight(3);
    line(100+xMove, 155, 125+xMove, 150);//LeftHammerHandle
    strokeWeight(8);
    line(125+xMove, 150, 140+xMove, 143);//LeftHand
    strokeWeight(4);
    line(143+xMove, 140, 160+xMove, 130);//LeftArm
    Hit[0]=false;
  }//LeftHit
  if (Hit[1]==true)
  {
    quad(280+xMove, 130, 325+xMove, 130, 325+xMove, 175, 280+xMove, 175);//RightHammer
    strokeWeight(3);
    line(250+xMove, 150, 280+xMove, 155);//RightHammerHandle
    strokeWeight(8);
    line(235+xMove, 142, 250+xMove, 150);//RightHand
    strokeWeight(4);
    line(213+xMove, 130, 233+xMove, 140);//RightArm
    Hit[1]=false;
  }//RightHit
}

void TextShow() //OUTPUT POINT METHOD Moowhan
{
  fill(0);
  //del /* xxxxxxx */ if you run in Processing program
  /*
  textSize(40);
   text("VERMIN", 300, 350);
   text(CountPoint(), 500, 350);

   if (yPosMons[0]<=150 || yPosMons[1] <=150)
   {
   background(0);
   fill(255);
   text("GAME OVER", 185, height/2-50);
   text("Press R to Restart", 130, height/2);
   text("Score : "+CountPoint(), 220, height/2+50);
   }
   */

  text("VERMIN", 300, 350);
  text(CountPoint(), 500, 350);

  if (index[0]>5 || index[1]>5)
  {
    background(0);
    fill(255);
    text("GAME OVER", 250, height/2-50);
    text("Press R to Restart", 230, height/2);
    text("Score : "+CountPoint(), 255, height/2+50);
  }
}
void DrawMonster() //draw monster - wat
{
  int r=20;
  int j;
  fill(0);
  for (j=0;j<2;j++)
  {
    if (CheckHIT[j] == false)
    {
      if (j==0 && frame%Speed==0)
      {
        index[0]++;
      }
      if (j==1 && frame%Speed-2==0)
      {
        index[1]++;
      }
      if (j==0 && index[0]<=5)
      {
        ellipse(xPosMons[j], yPosMons[j][index[0]], r, r);
      }
      if (j==1 && index[1]<=5)
      {
        ellipse(xPosMons[j], yPosMons[j][index[1]], r, r);
      }

      if (CountPoint() % 10 == 0 && CountPoint() != 0 && cis == true && Speed >=16) {
        Speed -= 2;
        cis=false;
      }
      else if (CountPoint()%10 >= 1 && CountPoint() != 1)
      {
        cis=true;
      }
    }
    if (CheckHIT[j] == true)
    {
      if (j==0)
      {
        update1();
        index[0]=0;
      }
      if (j==1)
      {
        update2();
        index[1]=0;
      }  
      CheckHIT[j]=false;
    }
  }
}

วันอังคารที่ 30 กรกฎาคม พ.ศ. 2556

Binary Calculate & Display (Minus)





boolean[] A = {true, false,false,true};  // กำหนดตัวแปรชนิด boolean ประเภท array ชื่อ A boolean[] B = { true, true, false,false}; // กำหนดตัวแปรชนิด boolean ประเภท array ชื่อ B boolean[] cal = new boolean[4];  // กำหนดตัวแปรชนิด boolean ประเภท array ชื่อ cal เก็บค่าที่คำนวณได้
int[]minus = new int[5];  // กำหนดตัวแปรชนิด boolean ประเภท array ชื่อ minus ใช้เก็บค่าที่จะใช้แสดง
int x = 45; // กำหนดตัวแปรชนิด int ชื่อ x เพื่อกำหนดจุดที่วาดวงกลมวงแรก
int i = 0;  // กำหนดตัวแปรชนิด int ชื่อ i เพื่อเรียกใช้ค่าใน array ตำแหน่ง i นั้นๆ
int j = 1;  // กำหนดตัวแปรชนิด int ชื่อ j ใช้ในการทดเลขจากการคำนวณ
void setup() {
size(200,200);  // กำหนดขนาดของ screen
background(195);  // กำหนดสีของ screen เป็นสีเทา
  i = A.length - 1;  // ให้ ค่า i เท่ากับความยาวของ A -1 
  while (i > 0) {  // กำหนดเงื่อนไขการวนลูป ถ้า i > 0
    if (A[i] == B[i]) {  // กำหนดเงื่อนไข ถ้า A และ B ที่ตำแหน่ง i มีค่าเท่ากัน
      cal[i] = false;  // ให้ cal ที่ตำแหน่ง i เป็น false
    }
    else if (A[i]== false && B[i] == true) {  // กำหนดเงื่อนไข ถ้า A ที่ตำแหน่ง i มีค่าเป็น false และ B ตำแหน่ง i มีค่าเป็น true
      cal[i] = true;  // ให้ cal ที่ตำแหน่ง i เป็น true
      A[i-1] =!A[i-1];  // ให้ A[i - 1] มีค่าตรงข้าม
      if(A[0] == false && A[0] == true){  // กำหนดเงื่อนไข ถ้า A ที่ตำแหน่ง 0 มีค่าเป็น false
และ B ตำแหน่ง 0 มีค่าเป็น true
        cal[0] = true;  // ให้ cal ที่ตำแหน่ง 0 เป็น true
      }
      if (A[i-1] == true) {  // กำหนดเงื่อนไข ถ้าค่าตำแหน่งถัดจาก i เป็น true 
        j = 1;  // ให้ j เป็น 1
        while (A[i - j] == true) {  // กำหนดเงื่อนไขการวนลูป ถ้า A ตำแหน่ง i - j เป็น true
          j = j + 1;  // ให้ค่า j เพิ่มขึ้นเรื่อยๆทีละ 1
          if(A[0] == true) {  // กำหนดเงื่อนไข ถ้า A ตำแหน่ง 0 เป็น true
            break;  // ให้หยุด
          }
          A[i - j] = !A[i - j];  // ให้ A[i - j] มีค่าตรงข้าม
        }
      }
    }
    else {  // ถ้าค่าตำแหน่งถัดจาก i ไม่เป็น true
      cal[i] = true;  // ให้ cal ตำแหน่ง i เป็น true
    }
    i = i - 1;  // ให้ i ลดลงเรื่อยๆที่ละ 1
  }
  i = 0;  // ให้ i เป็น 0 เมื่อออกจากลูป
  while (i < A.length){  // กำหนดเงื่อนไขในการวนลูป ถ้า i < A.length
    if (cal[i] == true) {   // กำหนดเงื่อนไข ถ้า cal ตำแหน่ง i  เป็น true  
      minus[i] = 1;  // ให้ minus ที่ตำแหน่ง i เป็น 1        
      fill(0,128,128);   // กำหนดสีให้กับวงกลม เป็นสีเขียว
      ellipse(x,120,30,30);  // วาดวงกลม โดยเริ่มที่จุด x
      x = x + 30;  // เพิ่มค่า x ขึ้นเรื่อยๆทีละ 30
    }
    if (cal[i] == false) {  // กำหนดเงื่อนไข ถ้า cal ตำแหน่ง i  เป็น false  
      minus[i] = 0;  // ให้ minus ที่ตำแหน่ง i เป็น 0               
      fill(255);  // กำหนดสีให้กับวงกลม เป็นสีขาว 
      ellipse(x,120,30,30);  // วาดวงกลม โดยเริ่มที่จุด x
      x = x + 30;  // เพิ่มค่า x ขึ้นเรื่อยๆทีละ 30
    }
    i = i + 1;  // เพิ่มค่า i ขึ้นเรื่อยๆทีละ 1
  }
  fill(0);  // กำหนดสีตัวอักษร เป็นสีดำ
  textFont(createFont("Cordia New",26));  // กำหนดฟร้อนต์ตัวอักษรเป็น Cordia New มีขนาด 26
  text("Minus =" +" "+ minus[0] + minus[1] + minus[2] + minus[3],45,70);  // แสดงค่าของ minus[0] ,minus[1],minus[2] และ minus[3]
}

วันศุกร์ที่ 26 กรกฎาคม พ.ศ. 2556

Some UFO






int x = 50;  //  กำหนดค่าตัวแปรชนิด int ชื่อ x มีค่า 50
int v = 2;  //  กำหนดค่าตัวแปรชนิด int ชื่อ v มีค่า 2 (หากปรับค่ามากขึ้น UFO จะบินเร็วขึ้น)

void setup(){
  size(400,450);  // กำหนดค่าของ screen
}

void draw(){
  background(255);  // กำหนดสีพื้นหลัง เป็นสีขาว
  int y = 80;  //  กำหนดค่าตัวแปรชนิด int ชื่อ y มีค่า 80 
  int s = 1;  //  กำหนดค่าตัวแปรชนิด int ชื่อ s มีค่า 1
  while(s < 5){  // กำหนดเงื่อนไขเพื่อวนลูป 
    drawUFO(x,y); // เรียกใช้ฟังก์ชั่นชื่อ drawUFO
    y = y + 100;  // เพิ่มค่าของ y ขึ้นเรื่อยๆทีละ 100
    s = s + 1;  // เพิ่มค่าของ s ขึ้นเรื่อยๆทีละ 1
  }
  x = x + v;  // เพิ่มค่าของ x ขึ้นเรื่อยๆทีละ v
  if(x > width){  // สร้างเงื่อนไข ถ้า ค่า x มากกว่าค่า width
    v = v*(-1);  // ให้ค่าของ v มีค่าลดลงเรื่อยๆ
  }
  if(x < 0){  // สร้างเงื่อนไข ถ้า ค่าของ x น้อยกว่า 0
    v = v*(-1);  // ให้ค่าของ v มีค่าลดลงเรื่อยๆ
  }
}
void drawUFO(int x,int y)  // สร้างฟังก์ชั่นชื่อว่า drawUFO
{
  fill(255,255,0);  // กำหนดสีให้กับห้องเครื่องของ UFO เป็นสีเหลือง 
  ellipse(x, y, 33, 31);  // วาดวงกลมโดยใช้ตัวแปร x,y กำหนดตำแหน่ง
  fill(128);  // กำหนดสีให้กับตัวถัง UFO เป็นสีเทา
  ellipse(x, y + 4, 80, 20);  // วาดวงกลมโดยใช้ตัวแปร x,y กำหนดตำแหน่ง
}

Barchart (Array)






float bangkok = 84;  // กำหนดตัวแปรชนิด float ชื่อ bangkok มีค่า 84
float central = 75.1;  // กำหนดตัวแปรชนิด float ชื่อ central มีค่า 75.1
float north = 68.9;  // กำหนดตัวแปรชนิด float ชื่อ north มีค่า 68.9
float northeast = 64.1;  // กำหนดตัวแปรชนิด float ชื่อ northeast มีค่า 64.1
float south = 67.8;  // กำหนดค่าตัวแปรชนิด float ชื่อ south มีค่า 67.8
float[] data = {bangkok,central,north,northeast,south}; // กำหนดค่าตัวแปรชนิด float ประเภท array ชื่อ data โดยนำค่าของ bangkok, central, north, northeast และ south มาใส่ไว้
String[] region = {"Bangkok","Central","North","Northeast","South"}; // กำหนดค่าตัวแปรชนิด string(ชนิดตัวอักษรมากกว่า 1 ตัว) ประเภท array ชื่อ region

void setup()
{
   background(255);  // กำหนดสีของ screen เป็นสีขาว
   size(300,250);  // กำหนดขนาดของ screen
   calculator();  // เรียกใช้ฟังก์ชั่น calculator 
   drawbarchart(); //เรียกใช้ฟังก์ชั่น drawbarchart
}
int n = 0; // กำหนดตัวแปรชนิด int ชื่อ n มีค่าเป็น 0

void drawbarchart() // สร้างฟังก์ชั่นชื่อ drawbarchart
{
   int x = 40;  // ประกาศตัวแปร x มีค่า 40
   int y = 70;  // ประกาศตัวแปร x มีค่า 70 
   n = 0; // กำหนดค่าตัวแปร n มี่ค่า 0
   while(n < data.length)  // กำหนดเงื่อนไขเพื่อวนลูป ข้อมูลใน array ชื่อ data
   {
    fill(26, 236, 168);  // กำหนดสีให้กับแผ่นภูมิ เป็นสีเขียวอ่อน
    rect(x,y,data[n],20);  // วาดรูปสี่เหลี่ยมโดยให้รับค่าจากตัวแปร x,y กำหนดตำแหน่ง และให้ความยาวตามแนวแกน x มีค่าเท่ากับค่าใน array นั้นๆ
    fill(0,128,128);  // กำหนดสีให้กับตัวอักษร เป็นสีเขียวเข้ม
    text(region[n],x + 15 + data[n],y + 15);  // แสดงค่าของ region นั้นๆเป็นตัวอักษรที่ตำแหน่ง (x +15 + data[n],y + 15)
    text(data[n],x + 5,y + 15);  // แสดงค่าของ data นั้นๆเป็นตัวอักษรที่ตำแหน่ง(x + 5,y + 15)
    text("population aged 6 years over used mobilephone",15,40); // แสดงข้อความ "population aged 6 years over used mobilephone" ที่ตำแหน่ง(15,40)
    n = n + 1;  // เพิ่มค่าของ n ขึ้นเรื่อยๆที่ละ 1
    y = y + 30;  // เพิ่มค่าของ y ขึ้นเรื่อยๆที่ละ 30  
  }
}
void calculator(){
 float sum = 0;  // กำหนดตัวแปรชนิด float ชื่อ sum
 float max = data[0];  // กำหนดตัวแปรชนิด float ชื่อ max
 float min = data[0];  // กำหนดตัวแปรชนิด float ชื่อ min
 while(n < data.length){  // กำหนดเงื่อนไขเพื่อวนลูป ข้อมูลใน array ที่ชื่อ data
   if(data[n] >= max){  // กำหนดเงื่อนไข ถ้าข้อมูลในช่อง array นั้นๆ มีค่ามากกว่า max
     max = data[n];  // ให้ค่า max มีค่าเท่ากับข้อมูลในช่อง array นั้นๆ
   }
   if(data[n] <= min){  // กำหนดเงื่อนไข ถ้าข้อมูลในช่อง array นั้นๆมีค่าน้อยกว่า min
     min = data[n];  // ให้ค่า min มีค่าเท่ากับข้อมูลในช่อง array นั้นๆ
   }
   sum = sum + data[n];  // ให้ค่าของ sum เป็นการรวมค่าทุกตัวใน array ชื่อ data
   n = n + 1;  // เพิ่มค่าของ n ขึ้นเรื่อยๆที่ละ 1
}
 println("maximum is " + max);  // แสดงค่าของ max ทางหน้าจอ
 println("minimum is " + min);  // แสดงค่าของ min ทางหน้าจอ
 println("average is " + sum/data.length);  // แสดงค่า average ทางหน้าจอ
}

ที่มา: http://web.nso.go.th/en/survey/ict/ict_house12.htm

วันพฤหัสบดีที่ 25 กรกฎาคม พ.ศ. 2556

Max-Min (Array)



float[ ] data = {84,75.1,68.9,64.1,67.8}; // กำหนดตัวแปรชนิด float แบบ array ชื่อ data
void setup(){
  background (0); // กำหนดสี screen เป็นสีดำ
  size(150,150);  // กำหนดขนาด
  float sum = 0;  // กำหนดตัวแปรชนิด float ชื่อ sum
  float max = data[0];  // กำหนดตัวแปรชนิด float ชื่อ max
  float min = data[0];  // กำหนดตัวแปรชนิด float ชื่อ min
  int n = 0;  // กำหนดตัวแปรชนิด int ชื่อ n
  while(n < data.length){  // กำหนดเงื่อนไขเพื่อวนลูป ข้อมูลใน array ที่ชื่อ data
    if(data[n] >= max){  // กำหนดเงื่อนไข ถ้าข้อมูลในช่อง array นั้นๆ มีค่ามากกว่า max
      max = data[n];  // ให้ค่า max มีค่าเท่ากับข้อมูลในช่อง array นั้นๆ
    }
    if(data[n] <= min){  // กำหนดเงื่อนไข ถ้าข้อมูลในช่อง array นั้นๆมีค่าน้อยกว่า min
      min = data[n];  // ให้ค่า min มีค่าเท่ากับข้อมูลในช่อง array นั้นๆ
    }
    sum = sum + data[n];  // ให้ค่าของ sum เป็นการรวมค่าทุกตัวใน array ชื่อ data
    n = n + 1;  // เพิ่มค่าของ n ขึ้นเรื่้อยๆ
  }
  fill(255);  // กำหนดสีให้ตัวอักษร เป็นสีขาว
  text("maximum is " + max,30,40);  // แสดงค่าของ max  
  text("minimum is " + min,30,70);  // แสดงค่าของ min
  text("average is " + sum/data.length,30,100);  // แสดงค่าของ average
}
ที่มา: http://web.nso.go.th/en/survey/ict/ict_house12.htm

วันพฤหัสบดีที่ 18 กรกฎาคม พ.ศ. 2556

Bridge





void setup(){
 size(400,400);  // กำหนดขนาดของ screen
 background(210,255,255);  // กำหนดสีพื้นหลัง เป็นสีฟ้าอ่อน
}
int count = 0;  // ประกาศตัวแปร count กำหนดค่าเป็น 0
int a = 0;  // ประกาศตัวแปร a กำหนดค่าเป็น 0
int b = 0;  // ประกาศตัวแปร b กำหนดค่าเป็น 0
void draw(){
  drawbridge(7,0,230);  // เรียกใช้ฟังก์ชั่น drawbridge

  fill(0);  // กำหนดสีให้กับเสาสะพาน เป็นสีดำ
  rect(95,30,10,200);  // วาดสี่เหลี่ยม เป็นเสาสะพาน
  rect(295,30,10,200);  // วาดสี่เหลี่ยม เป็นเสาสะพาน

  fill(0,128,192);  // กำหนดสีให้กับพื้นน้ำ เป็นสีน้ำเงิน
  rect(0,240,400,160);  // วาดสี่เหลี่ยม เป็นตัวสะพาน

  fill(192);  // กำหนดสีให้กับตัวสะพาน เป็นสีเทา
  rect(0,230,400,20);  // วาดสีเหลี่ยม เป็นพื้นน้ำ
}

void drawbridge(int n,int x,int y){  // สร้าวฟังก์ชั่นชื่อ drawbridge ประกาศตัวแปร n , x และ y
   while(count < n){  // กำหนดเงื่อนไข while โดยถ้า count น้อยกว่า n
     line(x + b,y,x + 100,y - 200 + a);  // วาดเส้นโดยกำหนดตัวแปร x , y และเพิ่มค่าด้วย a , b
     line(x + 200 - b,y,x + 100,y - 200 + a);  // วาดเส้นโดยกำหนดตัวแปร x , y และเพิ่มค่าด้วย a , b
     line(x + 200 + b,y,x + 300,y - 200 + a);  // วาดเส้นโดยกำหนดตัวแปร x , y และเพิ่มค่าด้วย a , b
     line(x + 400 - b,y,x + 300,y - 200 + a);  // วาดเส้นโดยกำหนดตัวแปร x , y และเพิ่มค่าด้วย a , b
     a = a + 10;  // ให้เพิ่มค่า a ขึ้นเรื่อยๆ
     b = b + 10;  // ให้เพิ่มค่า b ขึ้นเรื่อยๆ
     count = count + 1;  // ให้เพิ่มค่า count ขึ้นเรื่อยๆ
   }
}

Expressway





void setup(){
size(300,300);  // กำหนดขนาดของ screen
background(215,255,255);  // กำหนดสีให้พื้นหลัง สีฟ้าอ่อน
}
int count = 0;  // ประกาศตัวแปร count เพื่อกำหนดจำนวนครั้งที่จะวนคำสั่งเงื่อนไข

void draw(){
  fill(192,192,192);  // กำหนดสีให้กับตัวทางด่วน เป็นสีเทาอ่อน
  rect(0,180,300,30);  // วาดสี่เหลี่ยม เป็นตัวทางด่วน
  drawexpress(8,5,180); // เรียกใช้ฟังก์ชั่น drawexpress
}

void drawexpress(int n,int x, int y){  // สร้างฟังก์ชั่นชื่อ drawexpress ประกาศตัวแปร n , x และ y
   while(count < n){  // กำหนดเงื่อนไข while โดยถ้า count น้อยกว่า n
   fill(127,127,127);  // กำหนดสีให้กับเสาทางด่วน เป็นสีเทาเข้ม
   rect(x,y,20,120);  // วาดสี่เหลี่ยมโดยรับค่าจากตัวแปร x และ y เพื่อกำหนดตำแหน่งการวาด
   x = x + 40;  // ให้ค่าของ x เพิ่มขึ้นเรื่อยๆ
   count = count + 1;  // ให้ค่าของ count เพิ่มขึ้นเรื่อยๆ
   }
}

วันพุธที่ 17 กรกฎาคม พ.ศ. 2556

Mobile





void setup(){
size(300,300); // กำหนดขนาดของ screen
background(255); //กำหนดสีให้พื้นหลัง เป็นสีขาว
}
int count = 0; // ประกาศตัวแปร count เพื่อกำหนดจำนวนครั้งที่จะวนคำสั่งเงื่อนไข

void draw(){
  line(100,0,100,50); // วาดเส้น ทำเป็นเชือกมัดโมบาย
  line(200,0,200,50); // วาดเส้น ทำเป็นเชือกมัดโมบาย
  fill(128,0,0); // กำหนดสีให้กับไม้ผูกโมบาย เป็นสีน้ำตาล
  rect(50,50,220,30);  // วาดสี่เหลี่ยม ทำเป็นไม้ผูกโมบาย
  drawmobile(5,70,60,60); // เรียกให้ฟังก์ชั่น drawmobile
}

void drawmobile(int n,int x, int y,int h){ // สร้างฟังก์ชั่นชื่อ drawmobile ปรกาศตัวแปร n , x , y และ h
   while(count < n){ // กำหนดเงื่อนไข while โดยถ้า count น้อยกว่า n
   line(x + 10,50,x + 10,y);  // วาดเส้น โดยรับค่าจากตัวแปร x และ y
   fill(168,255,255);  // กำหนดสีให้กับตัวโมบาย เป็นสีฟ้าอ่อน
   rect(x,50,20,h);  // วาดสี่เหลี่ยม โดยรับค่าจากตัวแปร x และ h
   fill(255,0,0);  // กำหนดสีวห้กับตัวลูกปัด เป็นสีแดง
   ellipse(x + 10,h + 60,30,30);  // วาดวงกลม โดยรับค่าจากตัวแปร x และ h
   x = x + 40;  // กำหนดให้ค่า x เพิ่มขึ้นเรื่อยๆ
   h = h + 40;  // กำหนดให้ค่า h เพิ่มขึ้นเรื่อยๆ
   count = count + 1;  // กำหนดให้ค่า count เพิ่มขึ้นเรื่อยๆ
   }
}

Railway




void setup() {
  size(300,300);  // กำหนดค่าของ screen
  background(140,255,198); // กำหนดสีของพื้นหลัง เป็นสีเขียวอ่อน
}

void draw(){
  int x = 10; // ประกาศตัวแปร x ให้มีค่าเป็น 10 (ตัวแปรชนิด local)
  int y = 50; // ประกาศตัวแปร y ให้มีค่าเป็น 50 (ตัวแปรชนิด local)
  rail(x,y);  // เรียกใช้ฟังก์ชั่น rail
  way(65); // เรียกใช้ฟังก์ชั่น way
  rail(x,y + 130);  // เรียกใช้ฟังก์ชั่น rail
  way(195);  // เรียกใช้ฟังก์ชั่น way
}

void rail(int x,int y){  // สร้างฟังก์ชั่น rail ประกาศตัวแปร x และ y
  fill(160 ,82 ,45);  // กำหนดสีให้กับตัวหมอนรถไฟ เป็นสีน้ำตาล
  while(x >= 10 && x <= width){  // กำหนดเงื่อนไข while โดยถ้า x มากกว่าหรือเท่ากับ 10 และ x น้อยกว่าหรือเท่ากับ width
     rect(x,y,15,80);  // วาดสี่เหลี่ยม โดยให้มีการรับค่าจากตัวแปร x และ y
     x = x + 30;  // ให้เพิ่มค่า x ขึ้นเรื่อยๆ
   }
}
void way(int z){ //สร้างฟังก์ชั่น way ประกาศตัวแปร z
  fill(0);  // กำหนดสีให้กับรางรถไฟ เป็นสีดำ
  rect(0,z,width,10);  // วาดสีเหลี่ยม โดยให้มีการรับค่าจากตัวแปร z
  rect(0,z + 40,width,10);   // วาดสีเหลี่ยม โดยให้มีการรับค่าจากตัวแปร z
}

Curve




void setup(){
size(300,300);  // กำหนดค่าของ screen
}
int count = 0;  // ประกาศตัวแปร count เพื่อกำหนดจำนวนครั้งที่จะวนคำสั่งเงื่อนไข

void draw(){
drawcurve(30,1,1,10);  //เรียกใช้ฟังก์ชั่น drawcurve
}
void drawcurve(int n,int x,int y,int a){  // สร้างฟังก์ชั่น drawcurve โดยประกาศตัวแปร n , x , y และ a
   while(count < n){  // กำหนดเงื่อนไข while โดยถ้า count มีค่าน้อยกว่า n
        line(x,y + a,x + a,y + 300); //ให้วาดเส้น โดยกำหนดเป็นตัวแปร x และ y โดยตัวแปร a จะเป็นระยะห่างระหว่างเส้น
        a = a + 10;  // ให้เพิ่มค่า a ขึ้นเรื่อยๆ
        count = count + 1; // ให้เพิ่มค่าของ count ขึ้นเรื่อยๆ
    }
}


วันพฤหัสบดีที่ 11 กรกฎาคม พ.ศ. 2556

The book 2


จิตนาการสำคัญกว่าความรู้




void setup(){
size(200,200); // กำหนดขนาด screen
background(255);  // กำหนดสีพื้นหลัง เป็นสีขาว
}
int a = 55; // กำหนดค่าตัวแปร a เป็นตัวแปร global
int b = 85; // กำหนดค่าตัวแปร b เป็นตัวแปร global
int c = 115; // กำหนดค่าตัวแปร c เป็นตัวแปร global
int d = 145; // กำหนดค่าตัวแปร d เป็นตัวแปร global
int r  = 0; // กำหนดค่าตัวแปร r เป็นตัวแปร global

void draw(){
fill(255,128,192); // กำหนดสีให้วงกลมวงใหญ่สุด เป็นสีชมพู
ellipse(100,100,r,r); // สั่งวาดวงกลมวงแรก โดยแทนรัศมีเป็นตัวแปร r
fill(128,255,128);  // กำหนดสีให้วงกลมวงกลาง เป็นสีเขียว
ellipse(100,100,r - 50, r - 50);  // สั่งวาดวงกลมวงที่ 2 โดยแทนรัศมีเป็นตัวแปร r
fill(128,255,255);  // กำหนดสีให้วงกลมวงเล็กสุด เป็นสีฟ้า
ellipse(100,100,r - 100, r - 100); // สั่งวาดวงกลมวงที่ 3 โดยแทนรัศมีเป็นตัวแปร r
r = r + 1;   // เพิ่มค่า r ขึ้นเรื่อยๆ
if (r > 400){ // ถ้าค่าของตัวแปร r มีค่ามากกว่า 400
     r = 50;   // ให้ตัวแปร r มีค่า 50
   }

fill(0,64,128); //กำหนดสีให้กับปกหนังสือ เป็นสีน้ำเงินเข้ม
rect(40,55,120,90); // วาดสี่เหลี่ยมเป็นปกหนังสือ
fill(255); //กำหนดสีให้กับหน้าหนังสือ เป็นสีขาว
rect(45,60,110,80); // วาดสี่เหลี่ยมเป็นหน้าหนังสือ
fill(100,177,255); // กำหนดสีให้กับสันหนังสือ เป็นสีฟ้า
rect(95,55,10,90); // วาดสี่เหลี่ยมเป็นสันหนังสือ

line(a,75,b,75); // 1
line(a,85,b,85); // 2
line(a,95,b,95); // 3
line(a,105,b,105); // 4
line(a,115,b,115); // 5
line(a,125,b,125); // 6
// บรรทัดที่ 1-6 สั่งให้วาดเส้นตรงทางหน้าหนังสือฝั่งซ้าย โดยกำหนดค่า x เป็นตัวแปร a และ b เพื่อไม่ให้สับสนค่าของ x
line(c,75,d,75); // 7
line(c,85,d,85); // 8
line(c,95,d,95); // 9
line(c,105,d,105); // 10
line(c,115,d,115); // 11
line(c,125,d,125); // 12
// บรรทัดที่ 7-12 สั่งให้วากเส้นตรงทางหน้าหนังสือฝั่งซ้าย โดยกำหนดค่า x เป็นตัวแปร c และ d เพื่อไม่ให้สับสนค่าของ x
}

table tennis 2




int xPos; // ประกาศตัวแปร xPos เป็นตัวแปรแบบ global
int tbl;   // ประกาศตัวแปร tbl เป็นตัวแปรแบบ global
void setup()
{
  size(200,200); //กำหนดขนาดของ screen
  xPos = 0; // กำหนดค่าของตัวแปร xPos เป็น 0
  tbl = xPos; // กำหนดค่าของตัวแปร tbl เป็นค่า xPos
}

void draw(){
  background(255); // กำหนดสีให้กับพื้นหลัง เป็นสีขาว
  fill(237,28,36); // กำหนดสีให้กับหน้าไม้ปิงปอง เป็นสีแดง
  ellipse(5,70,40,60);  // วาดวงรี  เป็นหน้าไม้ปิงปอง
  fill(0);  // กำหนดสีให้กับหน้าไม้ปิงปอง เป็นสีดำ
  ellipse(195,70,40,60);  // วาดวงรี  เป็นหน้าไม้ปิงปอง
  fill(128,64,64); //กำหนดสีให้กับด้ามจับไม้ปิงปอง เป็นสีน้ำตาล
  rect(190,100,10,40); // วาดสี่เหลี่ยม เป็นด้ามจับไม้ปิงปอง
  rect(0,100,10,40); // วาดสี่เหลี่ยม เป็นด้ามจับไม้ปิงปอง

  drawpin(xPos);  // เรียกใช้ฟังก์ชั่น drawpin ซึ่งเป็นฟังก์ชั่นประเภท User Function มีการส่งค่า xPos ไปในชุดฟังก์ชั่น

  if(tbl <= width) //กำหนดเงื่อนไข ถ้าค่าของตัวแปร tbl มีค่าน้อยกว่าหรือเท่ากับค่าความกว้าง
  {
    tbl = tbl + 1; // ให้ค่า tbl เพิ่มขึ้นเรื่อยๆ
    xPos = xPos + 1; // ให้ค่า xPos เพิ่มขึ้นเรื่อยๆ
  }
  if(tbl > width || xPos == width) //กำหนดเงื่อนไข ถ้าค่าตัวแปร tbl มีค่ามากกว่าค่าความกว้าง(200) และค่า xPos มีค่าเท่ากับค่าความกว้าง
    {
      tbl = tbl + 1;  //ให้ค่า tbl เพิ่มขึ้นเรื่อยๆ
      xPos = xPos - 1; //ให้ค่า xPos ลดลงเรื่อยๆ
    }
  if(tbl == width*2) // กำหนดเงื่อนไข ถ้าตัวแปร tbl มีค่าเท่ากับค่าความกว้าง * 2 (400) หรือก็คือไปกลับครบ 1 รอบ
    {
       tbl = 0;  //ให้ค่าของตัวแปร tbl กลับมาเป็น 0
    }
 }

void drawpin(int xPos) //คำสั่งสร้างฟังก์ชั่นแบบ User Function ในที่นี้มีชื่อว่า drawpin
{
  fill(255,255,0); // กำหนดสีให้กับลูกปิงปอง เป็นสีเหลือง
  ellipse(xPos, 70, 30, 30);  //วาดวงกลม โดยตำแหน่งค่า x กำหนดเป็นตัวแปร xPos
}

rhythm 2

คลื่น เสียงเพลง ทำให้เรามีชีวิตชีวา






void setup(){
size(200,200);  // กำหนดขนาด screen
background(255);  // กำหนดสีพื้นหลัง เป็นสีขาว
}
int r = 0;  // ประกาศตัวแปร r มีค่าเป็น 0
void draw(){
   fill(0,53,106);  // ใส่สีให้กับวงกลมวงแรกสุด เป็นสีน้ำเงินเข้ม
   ellipse(100,100,r + 60, r + 60); // สั่งให้วาดวงกลม โดยขนาดของวงกลมเป็นตัวแปร r แล้วบวกกับ 60 
   fill(0,112,223);  // ใส่สีให้วงกลมวงถัดมา เป็นสีน้ำเงิน
   ellipse(100,100,r + 40, r + 40); // สั่งให้วาดวงกลม โดยขนาดของวงกลมเป็นตัวแปร r แล้วบวกกับ 40 
   fill(40,148,255); // ใส่สีให้วงกลมวงถัดมา เป็นสีฟ้าเข้ม
   ellipse(100,100,r + 20, r + 20); // สั่งให้วาดวงกลม โดยขนาดของวงกลมเป็นตัวแปร r แล้วบวกกับ 20 
   fill(174,215,255); // ใส่สีให้วงกลมวงถัดมา เป็นฟ้า
   ellipse(100,100,r,r);  // สั่งให้วาดวงกลม โดยขนาดของวงกลมเป็นตัวแปร r 
   fill(232,243,255); // ใส่สีให้วงกลมวงถัดมา เป็นสีฟ้าอ่อน
   ellipse(100,100,r - 20,r - 20); // สั่งให้วาดวงกลม โดยขนาดของวงกลมเป็นตัวแปร r แล้วลบกับ 20 
   r = r + 1;  // เพิ่มค่า r ทำให้ขนาดของวงกลมแต่ละวงเพิ่มขึ้นเรื่อยๆ
   if (r > 300){ // ถ้าตัวแปร r มีค่ามากกว่า 300
     r = 10  // ให้ตัวแปร r มีค่าเท่ากับ 10
     }
}