Advertisement
Guest User

Untitled

a guest
Dec 12th, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.56 KB | None | 0 0
  1. function setup()
  2. {
  3. createCanvas(512,512);
  4.  
  5. //initialise the variables
  6. ClassifiedVaultCode0 = 0;
  7. ClassifiedVaultCode1 = 0;
  8. ClassifiedVaultCode2 = 0;
  9. ClassifiedVaultCode3 = 0;
  10. ClassifiedVaultCode4 = 0;
  11.  
  12. }
  13.  
  14. ///////////////////EVENT HANDLERS///////////////////
  15.  
  16. //Create event handlers here to open the safe ...
  17. function mousePressed()
  18. {
  19. ClassifiedVaultCode0 = max(mouseX, 2);
  20.  
  21. ClassifiedVaultCode1 += 2;
  22. ClassifiedVaultCode1 = constrain(ClassifiedVaultCode1, 2, 17)
  23.  
  24. }
  25.  
  26.  
  27. function mouseMoved()
  28. {
  29. ClassifiedVaultCode2 = min(mouseX, 15);
  30. }
  31.  
  32. function mouseDragged()
  33. {
  34. ClassifiedVaultCode3 -= 1;
  35. ClassifiedVaultCode3 = constrain(ClassifiedVaultCode3, 3, 16)
  36. }
  37.  
  38. function mouseReleased()
  39. {
  40.  
  41. ClassifiedVaultCode4 = mouseY;
  42. ClassifiedVaultCode4 = min(ClassifiedVaultCode4, 80);
  43.  
  44. }
  45.  
  46.  
  47. ///////////////DO NOT CHANGE CODE BELOW THIS POINT///////////////////
  48.  
  49. function draw()
  50. {
  51.  
  52. //Draw the safe door
  53. background(70);
  54. noStroke();
  55. fill(29,110,6);
  56. rect(26,26,width-52,width-52);
  57.  
  58. //Draw the combination dials
  59. push();
  60. translate(120,170);
  61. drawDial(140,ClassifiedVaultCode0, 13);
  62. pop();
  63.  
  64. push();
  65. translate(120,380);
  66. drawDial(140,ClassifiedVaultCode1, 21);
  67. pop();
  68.  
  69. push();
  70. translate(280,170);
  71. drawDial(140,ClassifiedVaultCode2, 20);
  72. pop();
  73.  
  74. push();
  75. translate(280,380);
  76. drawDial(140,ClassifiedVaultCode3, 20);
  77. pop();
  78.  
  79. //Draw the lever
  80. push();
  81. translate(width - 125,256);
  82. drawLever(ClassifiedVaultCode4);
  83. pop();
  84.  
  85.  
  86. }
  87.  
  88. function drawDial(diameter,num,maxNum)
  89. {
  90. //the combination lock
  91.  
  92. var r = diameter * 0.5;
  93. var p = r * 0.6;
  94.  
  95. stroke(0);
  96. fill(255,255,200);
  97. ellipse(0,0,diameter,diameter);
  98. fill(100);
  99. noStroke();
  100. ellipse(0,0,diameter*0.66,diameter*0.66);
  101. fill(150,0,0);
  102. triangle(
  103. -p * 0.4,-r-p,
  104. p * 0.4,-r-p,
  105. 0,-r-p/5
  106. );
  107.  
  108. noStroke();
  109.  
  110. push();
  111. var inc = 360/maxNum;
  112.  
  113. rotate(radians(-num * inc));
  114. for(var i = 0; i < maxNum; i++)
  115. {
  116. push();
  117. rotate(radians(i * inc));
  118. stroke(0);
  119. line(0,-r*0.66,0,-(r-10));
  120. noStroke();
  121. fill(0);
  122. text(i,0,-(r-10));
  123. pop();
  124. }
  125.  
  126. pop();
  127. }
  128.  
  129. function drawLever(rot)
  130. {
  131. push();
  132. rotate(radians(-rot))
  133. stroke(0);
  134. fill(100);
  135. rect(-10,0,20,100);
  136. ellipse(0,0,50,50);
  137. ellipse(0,100,35,35);
  138. pop();
  139. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement