Advertisement
Guest User

Untitled

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