xxxxxxxxxx
51
let nums = [0x7E, 0x30, 0x6D, 0x79, 0x33, 0x5B, 0x5F, 0x70, 0x7F, 0x7B];
let index = 0;
function setup() {
createCanvas(400, 400);
frameRate(3);
}
function draw() {
background(220);
sevenSegment(20, 50, nums[index]);
sevenSegment(200, 50, nums[index]);
index = (index + 1) % 10;
}
function getColor(val, shift) {
let r = 200;
let g = 0;
let b = 0;
let a = 255 * ((val >> shift) & 1);
return color(r, g, b, a)
}
function sevenSegment(sPosX, sPosY, val) {
let size = 20;
push();
noFill();
//A
fill(getColor(val, 6));
rect(sPosX + (2 * size), sPosY + size, size * 5, size);
//B
fill(getColor(val, 5));
rect(sPosX + (size * 7), sPosY + (2 * size), size, size * 5);
//C
fill(getColor(val, 4));
rect(sPosX + (size * 7), sPosY + (8 * size), size, size * 5);
//D
fill(getColor(val, 3));
rect(sPosX + (size * 2), sPosY + (13 * size), size * 5, size);
//E
fill(getColor(val, 2));
rect(sPosX + size, sPosY + (size * 8), size, size * 5);
//F
fill(getColor(val, 1));
rect(sPosX + size, sPosY + (size * 2), size, size * 5);
//G
fill(getColor(val, 0));
rect(sPosX + (2 * size), sPosY + (size * 7), size * 5, size);
pop();
}