วันอาทิตย์ที่ 4 สิงหาคม พ.ศ. 2556

BINARY DISPLAY





ต่อไปนี้เราจะมาดูเรื่อง BINARY หรือเลขฐานสองกัน โดยจะมี 0 กับ 1 ในที่นี่เราใช้
ตัวแปร Boolean จะมีค่าเป็น true กับ false โดยจะให้  true=1 false=0 นะค่ะ

boolean[] A = {false,false,true,true};
boolean[] B = {true,false,false,true};

กำหนดตัวแปร boolean เป็นแบบ global variable โดยให้ array ที่มีชื่อ A เก็บค่าเป็น false,false,true,true
และให้ array ที่มีชื่อ เก็บค่าเป็น true,false,false,true
int i=0;  //กำหนดตัวแปร i เพื่อใช้เป็นค่าของ index ใน array ที่เราใช้
int x=70;  //กำหนดตัวแปร x เพื่อใช้กำหนดตำแหน่งในแนวแกน x ของวงกลมที่เราวาดขึ้น
int y=100; //กำหนดตัวแปร y เพื่อใช้กำหนดตำแหน่งในแนวแกน y ของวงกลมที่เราวาดขึ้น
int r=80; // กำหนดตัวแปร r เพื่อใช้กำหนดรัศมีของวงกลมที่เราวาด
เป็นการประกาศตัวแปรแบบ global variableโดยประกาศตัวแปรที่มีค่าเป็นจำนวนเต็ม int โดยมีเครื่องหมาย = (Assignment Operater)การทำงานค่าข้างขวากำหนดให้กับตัวแปรด้านซ้าย

void setup(){
  size(400,200);
  background(255);
}//การทำงานจะเริ่มที่ function นี้ก่อน โดยจะประกาศ กำหนด แต่ไม่ต้องเรียกใช้ เพราะจะเรียกใช้เองอัตโนมัติ

void draw(){
  while(i<A.length){ เราใช้ while loop ในการวนเงื่อนไขเพื่อวาดวงกลม โดยกำหนดให้ i น้อยกว่า ความยาวของ array ที่ชื่อ A ถ้าเป็นจริงจะทำเงื่อนไขต่อไป
    if(A[i]==false&&B[i]==true){  เงื่อนไขนี้ถ้า indax ใน array A คือ false และ  indax ใน array B คือ true ก็จะทำใน statement ด้านล่าง คือ
            fill(247,82,165); // คำสั่งที่กำหนดให้ใส่สีชมพู
            drawCircle(x,y,r); // วาดวงกลมที่กำหนดโดย function ที่ประกาศไว้( เรียกใช้ function  drawCircle)
             x=x+r;     // กำหนดให้ ตำแหน่งx ของตัวแปรเท่ากับ ตำแหน่งบวกรัศมี 
  }else{ เมื่อเงื่อนไขด้านบนเป็นเท็จแล้วก็จะทำเงื่อนไข
    if(A[i]==false&&B[i]==false){  เงื่อนไขนี้ถ้า indax ใน array A คือ false และ  indax ใน array B คือ false ก็จะทำใน statement ด้านล่าง คือ
            fill(22,107,170); // คำสั่งที่กำหนดให้ใส่สีน้ำเงิน
            drawCircle(x,y,r);//วาดวงกลมที่กำหนดโดย function ที่ประกาศไว้( เรียกใช้ function  drawCircle)
            x=x+r;  // กำหนดให้ ตำแหน่งx ของตัวแปรเท่ากับ ตำแหน่งบวกรัศมี  
  }
    if(A[i]==true&&B[i]==false){เงื่อนไขนี้ถ้า indax ใน array A คือ true และ  indax ใน array B คือ false ก็จะทำใน statement ด้านล่าง คือ
             fill(112,247,82);  // คำสั่งที่กำหนดให้ใส่สีเขียว
             drawCircle(x,y,r); //วาดวงกลมที่กำหนดโดย function ที่ประกาศไว้( เรียกใช้ function  drawCircle)
             x=x+r; // กำหนดให้ ตำแหน่งx ของตัวแปรเท่ากับ ตำแหน่งบวกรัศมี
    }
    if(A[i]==true&&B[i]==true){ เงื่อนไขนี้ถ้า indax ใน array A คือ true และ  indax ใน array B คือ true ก็จะทำใน statement ด้านล่าง คือ
            fill(247,228,52);   // คำสั่งที่กำหนดให้ใส่สีเหลือง
             drawCircle(x,y,r);//วาดวงกลมที่กำหนดโดย function ที่ประกาศไว้( เรียกใช้ function  drawCircle)
             x=x+r; // กำหนดให้ ตำแหน่งx ของตัวแปรเท่ากับ ตำแหน่งบวกรัศมี
    }
}
 i=i+1; //กำหนดให้ index ของ array เพิ่มขึ้นทีละ 1
  }
}
void drawCircle(int x,int y,int r){
  ellipse(x,y,r,r);

}เป็น function ที่เราใช้วาดวงกลมโดยเป็น user defined function เรียกใช้ตัวแปร int x,int y,int r ใน function นี้

*  ปล. index คือดัชนีของตัวสมาชิกใน Array โดยจะเริ่มที่ 0 เสมอ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น