xxxxxxxxxx
208
//instruction
//move mouse from left to right to adjust years
// Pixelator by Xin Xin, 2020
let capture;
let sx; // source X
let sy; // source Y
let sw; // source W
let sh; // source H
let dx; // distination X
let dy; // distination Y
let dw; // distination W
let dh; // distination H
let offset;
let shift;
let qList;
let num;
let sel;
let sel2;
let sel3;
let submit;
let cancel;
function setup() {
createCanvas(640, 480);
sel = createSelect();
sel.option(" ");
sel.option("Yes");
sel.option("No");
sel.position(120,140);
sel2 = createSelect();
sel2.option(" ");
sel2.option("Yes");
sel2.option("No");
sel2.position(120,220);
sel3 = createSelect();
sel3.option(" ");
sel3.option("Yes");
sel3.option("No");
sel3.position(120,300);
qList=["Can you accept body bully?",
"Can you accept human organ trade?",
"Can you accept going out naked?",
"Glad you are the user we want",
"We will do so anyway",
"Just accept, we need you to make money"];
submit=createButton("Submit");
submit.position(120,368);
let col = color(201,213,255);
submit.style('background-color',col);
// cancel=createButton("Cancel");
// let col1 = color(255,255,255);
// cancel.position(120,408);
// cancel.style('background-color',col1);
capture = createCapture(VIDEO);
capture.hide();
capture.elt.setAttribute('playsinline', ''); // add this for iphone compatibility
}
function draw() {
background(240);
textSize(20);
//textAlign(CENTER,CENTER);
fill(0);
text(qList[0],120,120);
text(qList[1],120,200);
text(qList[2],120,280);
// if(sel.value()=="Yes"){
// ans(0,177,138);
// }else if(sel.value()=="No"){
// ans(1,177,138);
// }
ans(sel,177,138);
ans(sel2,177,218);
ans(sel3,177,298);
push();
result();
pop();
switch(num){
case 0:
if(mouseX>=0 && mouseX<128){
pixelator(capture,20,20,20,20,60);
filters(255,255,255,80,0,0);
}else if(mouseX>=128 && mouseX<256){
pixelator(capture,15,15,15,15,40);
filters(255,255,255,40,0,20);
}else if(mouseX>=256 && mouseX<384){
pixelator(capture,10,10,10,10,40);
filters(255,255,255,0,0,40);
}else if(mouseX>=384 && mouseX<512){
pixelator(capture,8,8,8,8,30);
filters(0,0,0,40,2,60);
}else if(mouseX>=512){
pixelator(capture,5,5,5,5,30);
filters(0,0,0,80,5,80);
}
}
//submit.mouseClicked(result());
}
function pixelator(capture,sw,sh,dw,dh,offset){
shift = offset - dw;
translate(shift,shift);
for (let i = 0; i < width / dw; i++) {
for (let j = 0; j < height / dh; j++) {
dx = dw * i;
dy = dh * j;
sx = sw * i;
sy = sh * j;
copy(capture, sx, sy, sw, sh, dx, dy, dw-offset, dh-offset);
}
}
}
function filters(r,g,b,a,opacity,year){
fill(r,g,b,a);
noStroke();
rect(-shift,-shift,640,480);
filter(BLUR,opacity);
textSize(32);
fill(0);
text(year+" Years",260-shift,50-shift);
}
function question(i,x,y){
textSize(20);
textAlign(CENTER,CENTER);
fill(0);
text(qList[i],x,y);
}
function ans(sel,x,y){
let index;
if(sel.value()=="Yes"){
index=0;
}else if(sel.value()=="No"){
index=1;
}
switch(index){
case 0:
noStroke();
fill(140,242,186);
rect(x,y,192,24,15);
fill(23,137,94);
textSize(12);
text(qList[3],x+13,y+16);
break;
case 1:
noStroke();
fill(242,140,140);
rect(x,y,141,24,15);
fill(166,23,23);
textSize(12);
text(qList[4],x+13,y+16);
}
}
function result(){
if(mouseIsPressed){
if(mouseX>120 && mouseX<190 && mouseY>368 && mouseY < 388){
if(sel.value()=="Yes" && sel2.value()=="Yes" && sel3.value()=="Yes"){
num=0;
sel.remove();
sel2.remove();
sel3.remove();
submit.remove();
}
}
}
if(mouseX>120 && mouseX<190 && mouseY>368 && mouseY < 388){
if(sel.value()=="No" || sel2.value()=="No" || sel3.value()=="No"){
submit.mousePressed();
textSize(16);
fill(166,23,23);
text(qList[5],190,383);
}else if(sel.value()=="Yes" && sel2.value()=="Yes" && sel3.value()=="Yes"){
textSize(16);
text("Enjoy!",190,383);
}
}
}