Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function setup()
- {
- createCanvas(512,512);
- //initialise the variables
- ClassifiedVaultCode0 = 0;
- ClassifiedVaultCode1 = 0;
- ClassifiedVaultCode2 = 0;
- ClassifiedVaultCode3 = 0;
- ClassifiedVaultCode4 = 0;
- }
- ///////////////////EVENT HANDLERS///////////////////
- //Create event handlers here to open the safe ...
- function mousePressed()
- {
- ClassifiedVaultCode0 = max(mouseX, 2);
- }
- function mousePressed()
- {
- ClassifiedVaultCode1 += 2;
- ClassifiedVaultCode1 = constrain(ClassifiedVaultCode1, 2, 17)
- }
- function mouseMoved()
- {
- ClassifiedVaultCode2 = min(mouseX, 15);
- }
- function mouseDragged()
- {
- ClassifiedVaultCode3 -= 1;
- ClassifiedVaultCode3 = constrain(ClassifiedVaultCode3, 3, 16)
- }
- function mouseReleased()
- {
- ClassifiedVaultCode4 = mouseY;
- ClassifiedVaultCode4 = min(ClassifiedVaultCode4, 80);
- }
- ///////////////DO NOT CHANGE CODE BELOW THIS POINT///////////////////
- function draw()
- {
- //Draw the safe door
- background(70);
- noStroke();
- fill(29,110,6);
- rect(26,26,width-52,width-52);
- //Draw the combination dials
- push();
- translate(120,170);
- drawDial(140,ClassifiedVaultCode0, 13);
- pop();
- push();
- translate(120,380);
- drawDial(140,ClassifiedVaultCode1, 21);
- pop();
- push();
- translate(280,170);
- drawDial(140,ClassifiedVaultCode2, 20);
- pop();
- push();
- translate(280,380);
- drawDial(140,ClassifiedVaultCode3, 20);
- pop();
- //Draw the lever
- push();
- translate(width - 125,256);
- drawLever(ClassifiedVaultCode4);
- pop();
- }
- function drawDial(diameter,num,maxNum)
- {
- //the combination lock
- var r = diameter * 0.5;
- var p = r * 0.6;
- stroke(0);
- fill(255,255,200);
- ellipse(0,0,diameter,diameter);
- fill(100);
- noStroke();
- ellipse(0,0,diameter*0.66,diameter*0.66);
- fill(150,0,0);
- triangle(
- -p * 0.4,-r-p,
- p * 0.4,-r-p,
- 0,-r-p/5
- );
- noStroke();
- push();
- var inc = 360/maxNum;
- rotate(radians(-num * inc));
- for(var i = 0; i < maxNum; i++)
- {
- push();
- rotate(radians(i * inc));
- stroke(0);
- line(0,-r*0.66,0,-(r-10));
- noStroke();
- fill(0);
- text(i,0,-(r-10));
- pop();
- }
- pop();
- }
- function drawLever(rot)
- {
- push();
- rotate(radians(-rot))
- stroke(0);
- fill(100);
- rect(-10,0,20,100);
- ellipse(0,0,50,50);
- ellipse(0,100,35,35);
- pop();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement