xxxxxxxxxx
706
let bit = 8;
let modified_bit = 10;
function setup() {
createCanvas(400, 600);
}
function draw() {
background(245);
noStroke();
for (let i = 0; i < 40; i++) {
push();
fill(random(0, 255),random(0, 255),random(0, 255));
ellipse(random(width, 0), random(0, height), 5, 5);
pop();
}
translate(mouseX, mouseY);
head(bit, modified_bit);
shell(bit, modified_bit);
arms(bit, modified_bit);
legs(bit, modified_bit);
}
function head(x, y){
//Hair
push();
fill(0);
rect(30, 100, x, x);
rect(38, 100, x, x);
rect(46, 100, x, x);
rect(54, 100, x, x);
rect(54, 92, x, x);
rect(54, 84, x, x);
rect(62, 84, x, x);
rect(62, 76, x, x);
rect(62, 68, x, x);
rect(70, 68, x, x);
rect(70, 60, x, x);
rect(78, 60, x, x);
rect(78, 52, x, x);
rect(86, 52, x, x);
rect(94, 52, x, x);
rect(102, 52, x, x);
rect(110, 52, x, x);
rect(118, 52, x, x);
rect(118, 44, x, x);
rect(118, 36, x, x);
rect(118, 28, x, x);
rect(118, 20, x, x);
rect(126, 28, x, x);
rect(126, 36, x, x);
rect(134, 36, x, x);
rect(134, 44, x, x);
rect(142, 44, x, x);
rect(142, 52, x, x);
rect(150, 52, x, x);
rect(150, 60, x, x);
rect(150, 68, x, x);
rect(158, 68, x, x);
rect(158, 76, x, x);
rect(158, 84, x, x);
rect(166, 84, x, x);
rect(158, 92, x, x);
rect(150, 92, x, x);
rect(150, 100, x, x);
rect(142, 92, x, x);
rect(142, 84, x, x);
rect(134, 84, x, x);
rect(134, 76, x, x);
rect(126, 76, x, x);
rect(118, 76, x, x);
rect(110, 76, x, x);
rect(110, 84, x, x);
rect(102, 84, x, x);
rect(94, 84, x, x);
rect(86, 84, x, x);
rect(86, 92, x, x);
rect(78, 92, x, x);
rect(78, 100, x, x);
rect(78, 108, x, x);
rect(78, 116, x, x);
rect(86, 116, x, x);
rect(78, 124, x, x);
rect(70, 116, x, x);
rect(62, 116, x, x);
rect(54, 116, x, x);
rect(54, 124, x, x);
rect(54, 132, x, x);
rect(54, 140, x, x);
rect(62, 140, x, x);
rect(46, 132, x, x);
rect(46, 124, x, x);
rect(38, 124, x, x);
rect(38, 116, x, x);
rect(30, 116, x, x);
rect(30, 108, x, x);
rect(22, 108, x, x);
rect(22, 100, x, x);
rect(14, 100, x, x);
rect(38, 108, x, x);
rect(46, 108, x, x);
rect(46, 116, x, x);
rect(54, 108, x, x);
rect(62, 108, x, x);
rect(70, 108, x, x);
rect(70, 100, x, x);
rect(62, 100, x, x);
rect(62, 92, x, x);
rect(70, 92, x, x);
rect(70, 84, x, x);
rect(70, 76, x, x);
rect(78, 84, x, x);
rect(78, 76, x, x);
rect(78, 68, x, x);
rect(86, 60, x, x);
rect(86, 68, x, x);
rect(86, 76, x, x);
rect(94, 76, x, x);
rect(102, 76, x, x);
rect(102, 68, x, x);
rect(94, 68, x, x);
rect(94, 60, x, x);
rect(102, 60, x, x);
rect(110, 60, x, x);
rect(118, 60, x, x);
rect(126, 44, x, x);
rect(126, 60, x, x);
rect(126, 52, x, x);
rect(134, 52, x, x);
rect(134, 60, x, x);
rect(142, 60, x, x);
rect(142, 68, x, x);
rect(134, 68, x, x);
rect(126, 68, x, x);
rect(118, 68, x, x);
rect(110, 68, x, x);
rect(150, 76, x, x);
rect(142, 76, x, x);
rect(150, 84, x, x);
pop();
//Face
push();
fill(248,232,200);
rect(166, 92, x, x);
rect(166, 100, x, x);
rect(166, 108, x, x);
rect(166, 116, x, x);
rect(158, 116, x, x);
rect(158, 124, x, x);
rect(158, 132, x, x);
rect(158, 140, x, x);
rect(158, 148, x, x);
rect(150, 148, x, x);
rect(150, 156, x, x);
rect(142, 156, x, x);
rect(142, 164, x, x);
rect(134, 164, x, x);
rect(126, 164, x, x);
rect(118, 164, x, x);
rect(110, 164, x, x);
rect(102, 164, x, x);
rect(94, 164, x, x);
rect(94, 156, x, x);
rect(86, 156, x, x);
rect(78, 156, x, x);
rect(78, 148, x, x);
rect(70, 148, x, x);
rect(70, 140, x, x);
rect(70, 132, x, x);
rect(70, 124, x, x);
rect(62, 124, x, x);
rect(62, 132, x, x);
rect(78, 132, x, x);
rect(86, 132, x, x);
rect(86, 124, x, x);
rect(94, 124, x, x);
rect(94, 116, x, x);
rect(94, 108, x, x);
rect(86, 108, x, x);
rect(86, 100, x, x);
rect(94, 100, x, x);
rect(102, 100, x, x);
rect(94, 92, x, x);
rect(102, 92, x, x);
rect(110, 92, x, x);
rect(118, 92, x, x);
rect(118, 84, x, x);
rect(126, 84, x, x);
rect(126, 92, x, x);
rect(134, 92, x, x);
rect(142, 100, x, x);
rect(134, 100, x, x);
rect(126, 100, x, x);
rect(118, 100, x, x);
rect(110, 100, x, x);
rect(102, 100, x, x);
rect(102, 108, x, x);
rect(102, 116, x, x);
rect(110, 112, x, x);
rect(126, 116, x, x);
rect(126, 108, x, x);
rect(118, 108, x, x);
rect(134, 108, x, x);
rect(142, 108, x, x);
rect(150, 108, x, x);
rect(158, 108, x, x);
rect(158, 100, x, x);
rect(134, 116, x, x);
rect(142, 116, x, x);
rect(142, 124, x, x);
rect(134, 124, x, x);
rect(126, 124, x, x);
rect(126, 132, x, x);
rect(132, 132, x, x);
rect(140, 132, x, x);
rect(140, 140, x, x);
rect(132, 140, x, x);
rect(124, 140, x, x);
rect(116, 140, x, x);
rect(108, 140, x, x);
rect(100, 140, x, x);
rect(92, 140, x, x);
rect(92, 132, y, x);
rect(84, 140, x, x);
rect(76, 140, x, x);
rect(84, 148, x, x);
rect(92, 148, x, x);
rect(100, 148, x, x);
rect(108, 148, x, x);
rect(116, 148, x, x);
rect(124, 148, x, x);
rect(132, 148, x, x);
rect(140, 148, x, x);
rect(148, 148, x, x);
rect(148, 140, x, x);
rect(100, 156, y, x);
rect(108, 156, y, x);
rect(116, 156, y, x);
rect(124, 156, y, x);
rect(132, 156, y, x);
pop();
push();
fill(255);
rect(150, 136, x, x);
fill(0);
rect(150, 128, x, x);
fill(105,105,98);
rect(150, 120, x, x);
fill(255);
rect(118, 136, x, x);
rect(110, 136, x, x);
rect(102, 136, x, x);
rect(102, 128, x, x);
rect(102, 120, x, x);
fill(0);
rect(110, 120, x, x);
rect(118, 120, x, x);
rect(118, 128, x, x);
rect(110, 128, x, x);
fill(105,105,98);
rect(118, 120, x, x);
fill(184,128,72);
rect(118, 112, x, x);
rect(110, 104, x, x);
rect(150, 112, x, x);
rect(158, 104, x, x);
rect(126, 152, x, x);
rect(118, 152, x, x);
rect(142, 144, x, x);
pop();
}
function shell(x, y) {
//Shell Back
push();
fill(32,74,0);
rect(78, 164, x, x);
rect(78, 172, x, x);
rect(70, 172, x, x);
rect(70, 180, x, x);
rect(62, 180, x, x);
rect(62, 188, x, x);
rect(54, 188, x, x);
rect(54, 196, x, x);
rect(46, 196, x, x);
rect(46, 204, x, x);
rect(46, 212, x, x);
rect(38, 212, x, x);
rect(38, 220, x, x);
rect(38, 228, x, x);
rect(38, 236, x, x);
rect(30, 236, x, x);
rect(30, 244, x, x);
rect(30, 252, x, x);
rect(30, 260, x, x);
rect(30, 268, x, x);
rect(38, 268, x, x);
rect(38, 276, x, x);
rect(38, 284, x, x);
rect(38, 292, x, x);
rect(46, 292, x, x);
rect(46, 300, x, x);
rect(46, 308, x, x);
rect(54, 308, x, x);
rect(54, 316, x, x);
rect(62, 316, x, x);
rect(62, 324, x, x);
rect(70, 324, x, x);
rect(70, 332, x, x);
rect(78, 332, x, x);
rect(86, 324, x, x);
rect(78, 324, x, x);
rect(78, 316, x, x);
rect(70, 316, x, x);
rect(70, 308, x, x);
rect(62, 308, x, x);
rect(70, 300, x, x);
rect(62, 300, x, x);
rect(54, 300, x, x);
rect(54, 292, x, x);
rect(62, 292, x, x);
rect(62, 284, x, x);
rect(54, 284, x, x);
rect(46, 284, x, x);
rect(46, 276, x, x);
rect(54, 276, x, x);
rect(62, 276, x, x);
rect(54, 268, x, x);
rect(46, 268, x, x);
rect(46, 260, x, x);
rect(38, 260, x, x);
rect(54, 260, x, x);
rect(54, 252, x, x);
rect(46, 252, x, x);
rect(38, 252, x, x);
rect(38, 244, x, x);
rect(46, 244, x, x);
rect(46, 236, x, x);
rect(46, 228, x, x);
rect(46, 220, x, x);
rect(54, 244, x, x);
rect(54, 236, x, x);
rect(54, 228, x, x);
rect(54, 220, x, x);
rect(54, 212, x, x);
rect(54, 204, x, x);
rect(62, 228, x, x);
rect(62, 220, x, x);
rect(62, 212, x, x);
rect(62, 204, x, x);
rect(62, 196, x, x);
rect(70, 204, x, x);
rect(70, 196, x, x);
rect(70, 188, x, x);
rect(78, 188, x, x);
rect(78, 180, x, x);
rect(86, 180, x, x);
//Shell Mid Back
rect(86, 164, x, x);
rect(86, 172, x, x);
rect(94, 172, x, x);
rect(102, 172, x, x);
rect(102, 180, x, x);
rect(94, 180, x, x);
rect(94, 188, x, x);
rect(86, 188, x, x);
rect(86, 196, x, x);
rect(78, 196, x, x);
rect(78, 204, x, x);
rect(78, 212, x, x);
rect(70, 212, x, x);
rect(70, 220, x, x);
rect(70, 228, x, x);
rect(70, 236, x, x);
rect(62, 236, x, x);
rect(62, 244, x, x);
rect(62, 252, x, x);
rect(62, 260, x, x);
rect(62, 268, x, x);
rect(70, 268, x, x);
rect(70, 276, x, x);
rect(70, 284, x, x);
rect(70, 292, x, x);
rect(78, 292, x, x);
rect(78, 300, x, x);
rect(78, 308, x, x);
rect(86, 308, x, x);
rect(86, 316, x, x);
rect(94, 316, x, x);
rect(94, 324, x, x);
rect(102, 324, x, x);
rect(102, 332, x, x);
rect(94, 332, x, x);
rect(86, 332, x, x);
pop();
//Shell front
push();
fill(189,106,0);
rect(102, 316, x, x);
rect(110, 316, x, x);
rect(110, 324, x, x);
rect(110, 318, x, x);
rect(118, 318, x, x);
rect(118, 310, x, x);
rect(118, 302, x, x);
rect(118, 294, x, x);
rect(126, 294, x, x);
rect(126, 286, x, x);
rect(126, 278, x, x);
rect(126, 270, x, x);
rect(126, 262, x, x);
rect(126, 254, x, x);
rect(126, 246, x, x);
rect(126, 238, x, x);
rect(118, 238, x, x);
rect(118, 230, x, x);
rect(118, 222, x, x);
rect(118, 214, x, x);
rect(110, 214, x, x);
rect(110, 206, x, x);
rect(110, 198, x, x);
rect(102, 196, x, x);
rect(102, 188, x, x);
rect(94, 196, x, x);
rect(86, 204, x, x);
rect(94, 204, x, x);
rect(102, 204, x, x);
rect(102, 212, x, x);
rect(94, 212, x, x);
rect(86, 212, x, x);
rect(78, 220, x, x);
rect(86, 220, x, x);
rect(94, 220, x, x);
rect(102, 220, x, x);
rect(110, 220, x, x);
rect(102, 228, x, x);
rect(94, 228, x, x);
rect(86, 228, x, x);
rect(78, 228, x, x);
rect(110, 228, x, x);
rect(102, 236, x, x);
rect(94, 236, x, x);
rect(86, 236, x, x);
rect(78, 236, x, x);
rect(110, 236, x, x);
rect(70, 244, x, x);
rect(102, 244, x, x);
rect(94, 244, x, x);
rect(86, 244, x, x);
rect(78, 244, x, x);
rect(110, 244, x, x);
rect(110, 244, x, x);
rect(118, 244, x, x);
rect(70, 252, x, x);
rect(78, 252, x, x);
rect(86, 252, x, x);
rect(94, 252, x, x);
rect(102, 252, x, x);
rect(110, 252, x, x);
rect(118, 252, x, x);
rect(70, 260, x, x);
rect(78, 260, x, x);
rect(86, 260, x, x);
rect(94, 260, x, x);
rect(102, 260, x, x);
rect(110, 260, x, x);
rect(118, 260, x, x);
rect(78, 268, x, x);
rect(86, 268, x, x);
rect(94, 268, x, x);
rect(102, 268, x, x);
rect(110, 268, x, x);
rect(118, 268, x, x);
rect(78, 276, x, x);
rect(86, 276, x, x);
rect(94, 276, x, x);
rect(102, 276, x, x);
rect(110, 276, x, x);
rect(118, 276, x, x);
rect(78, 284, x, y);
rect(86, 284, x, y);
rect(94, 284, x, y);
rect(102, 284, x, y);
rect(110, 284, x, y);
rect(118, 284, x, y);
//rect(78, 292, x, x);
rect(86, 292, x, x);
rect(94, 292, x, x);
rect(102, 292, x, x);
rect(110, 292, x, x);
rect(118, 292, x, x);
rect(86, 300, x, x);
rect(94, 300, x, x);
rect(102, 300, x, x);
rect(110, 300, x, x);
rect(94, 308, x, x);
rect(102, 308, x, x);
rect(110, 308, x, x);
pop();
}
function arms(x, y){
// Right Arm
push();
fill(212,171,246);
rect(70, 212, x, x);
rect(70, 220, x, x);
rect(78, 220, x, x);
rect(78, 212, x, x);
rect(78, 228, x, x);
rect(86, 228, x, x);
rect(86, 236, x, x);
rect(94, 236, x, x);
rect(94, 242, x, x);
rect(102, 242, x, x);
rect(102, 250, x, x);
rect(110, 250, x, x);
rect(110, 258, x, x);
rect(118, 258, x, x);
rect(126, 258, x, x);
rect(126, 250, x, x);
rect(126, 250, x, x);
rect(134, 250, x, x);
rect(134, 242, x, x);
rect(142, 242, x, x);
rect(142, 234, x, x);
rect(150, 234, x, x);
rect(150, 226, x, x);
rect(158, 226, x, x);
rect(158, 218, x, x);
rect(158, 210, x, x);
rect(158, 202, x, x);
rect(158, 194, x, x);
rect(158, 186, x, x);
rect(158, 178, x, x);
rect(150, 178, x, x);
rect(150, 186, x, x);
rect(142, 186, x, x);
rect(142, 194, x, x);
rect(134, 194, x, x);
rect(134, 202, x, x);
rect(126, 202, x, x);
rect(126, 210, x, x);
rect(126, 218, x, x);
rect(118, 218, x, x);
rect(118, 226, x, x);
rect(110, 226, x, x);
rect(110, 234, x, x);
rect(102, 234, x, x);
rect(94, 234, x, x);
rect(94, 226, x, x);
rect(102, 226, x, x);
rect(86, 220, x, x);
rect(118, 250, x, x);
rect(118, 242, x, x);
rect(110, 242, x, x);
rect(126, 242, x, x);
rect(126, 234, x, x);
rect(118, 234, x, x);
rect(134, 234, x, x);
rect(134, 226, x, x);
rect(126, 226, x, x);
rect(142, 226, x, x);
rect(134, 218, x, x);
rect(142, 218, x, x);
rect(150, 218, x, x);
rect(142, 210, x, x);
rect(134, 210, x, x);
rect(142, 202, x, x);
rect(150, 202, x, x);
rect(150, 210, x, x);
rect(150, 194, x, x);
pop();
push();
fill(255);
rect(166, 218, x, x);
rect(166, 210, x, x);
rect(166, 202, x, x);
rect(166, 194, x, x);
rect(166, 186, x, x);
pop();
push();
fill(248,232,200);
rect(174, 186, x, x);
//hand
rect(182, 178, x, x);
rect(182, 170, x, x);
rect(182, 162, x, x);
rect(190, 178, x, x);
rect(194, 170, x, x);
rect(198, 162, x, x);
rect(182, 186, x, x);
rect(190, 186, x, x);
rect(190, 194, x, x);
rect(190, 202, x, x);
//rect(190, 210, x, x);
rect(182, 210, x, x);
rect(182, 202, x, x);
rect(182, 194, x, x);
rect(174, 194, x, x);
rect(174, 202, x, x);
rect(174, 210, x, x);
pop();
}
function legs(x, y){
push();
fill(243, 137, 41);
rect(70, 332, x, x);
rect(62, 332, x, x);
rect(62, 340, x, x);
rect(62, 348, x, x);
rect(62, 356, x, x);
rect(62, 364, x, x);
rect(62, 372, x, x);
rect(62, 380, x, x);
rect(62, 388, x, x);
rect(62, 396, x, x);
rect(62, 404, x, x);
rect(62, 412, x, x);
rect(62, 420, x, x);
rect(70, 420, x, x);
rect(70, 332, x, x);
rect(70, 340, x, x);
rect(70, 348, x, x);
rect(70, 356, x, x);
rect(70, 364, x, x);
rect(70, 372, x, x);
rect(70, 380, x, x);
rect(70, 388, x, x);
rect(70, 396, x, x);
rect(70, 404, x, x);
rect(70, 412, x, x);
rect(110, 332, x, x);
rect(110, 332, x, x);
rect(110, 340, x, x);
rect(110, 348, x, x);
rect(110, 356, x, x);
rect(110, 364, x, x);
rect(110, 372, x, x);
rect(110, 380, x, x);
rect(110, 388, x, x);
rect(110, 396, x, x);
rect(110, 404, x, x);
rect(110, 412, x, x);
rect(110, 420, x, x);
rect(94, 420, x, x);
rect(94, 428, x, x);
rect(86, 436, x, x);
rect(102, 428, x, x);
rect(110, 428, x, x);
rect(118, 428, x, x);
rect(118, 420, x, x);
rect(126, 436, x, x);
rect(106, 436, x, x);
rect(102, 332, x, x);
rect(102, 332, x, x);
rect(102, 340, x, x);
rect(102, 348, x, x);
rect(102, 356, x, x);
rect(102, 364, x, x);
rect(102, 372, x, x);
rect(102, 380, x, x);
rect(102, 388, x, x);
rect(102, 396, x, x);
rect(102, 404, x, x);
rect(102, 412, x, x);
rect(102, 420, x, x);
rect(78, 420, x, x);
rect(78, 428, x, x);
rect(70, 428, x, x);
rect(62, 428, x, x);
rect(54, 428, x, x);
rect(54, 420, x, x);
rect(46, 436, x, x);
rect(66, 436, x, x);
pop();
}