วันเสาร์ที่ 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); // แสดงค่า
}
}
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น