Advertisement
Guest User

Untitled

a guest
Mar 26th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.71 KB | None | 0 0
  1. <!DOCTYPE html>
  2.  
  3.  
  4. <html>
  5. <body>
  6.  
  7. <div id="ui">
  8. <p id="score">Score: 0</p>
  9. <p id="trials"></p>
  10. </div>
  11.  
  12. <canvas id="bar0" class="bar" height="500" width="15" onmousedown="Click(event)"></canvas>
  13. <canvas id="bar1" class="bar" height="500" width="15" onmousedown="Click(event)"></canvas>
  14. <canvas id="bar2" class="bar" height="500" width="15" onmousedown="Click(event)"></canvas>
  15. <canvas id="bar3" class="bar" height="500" width="15" onmousedown="Click(event)"></canvas>
  16.  
  17. <script>
  18.  
  19. y=Array.apply(null, Array(4)).map(function (_, i) {return (i+1)*100;});
  20. indices=Array.apply(null, Array(4)).map(function (_, i) {return i;});
  21. index=RandomIndex()
  22. console.log(index)
  23. document.getElementById("bar"+index).className += " focus"
  24.  
  25. trials=10
  26. totalScore=0
  27.  
  28. document.getElementById("trials").innerHTML="Trials Remaining: "+trials;
  29.  
  30. document.addEventListener("mouseup", function(){document.removeEventListener("mousemove", Move);});
  31. function Click(event){
  32. bar = event.target
  33. if(bar.className.indexOf(" focus") > 0){
  34. Move(event);
  35. document.addEventListener("mousemove", Move);
  36. }
  37. }
  38.  
  39. function RandomIndex(){
  40. return indices[Math.floor(Math.random() * indices.length)];
  41. }
  42.  
  43. function Move(event){
  44. bar = document.getElementsByClassName("focus")[0];
  45. ypos = window.scrollY + Math.max(0, event.y-bar.offsetTop);
  46. ctx = bar.getContext("2d");
  47. ctx.clearRect(0, 0, bar.width, bar.height);
  48. ctx.fillRect(0, ypos, 15, bar.height);
  49. }
  50.  
  51. function Submit(event){
  52. keyCode = event.keyCode
  53. if(keyCode == 32){
  54. trials-=1
  55. var estimatedY=bar.height-(Math.min(ypos,bar.height))
  56. var trueY=y[index]
  57. var absoluteError=Math.abs(estimatedY-trueY)
  58. score=bar.height-absoluteError
  59. totalScore+=score
  60. indices.splice(indices.indexOf(index),1)
  61. index=RandomIndex()
  62. console.log(indices)
  63. bar = document.getElementsByClassName("focus")[0]
  64. bar.className = bar.className.replace(" focus", "")
  65. document.getElementById("bar"+index).className += " focus"
  66. document.getElementById("trials").innerHTML="Trials Remaining: "+trials;
  67. document.getElementById("score").innerHTML="Score: "+totalScore;
  68.  
  69. }
  70. }
  71.  
  72. document.addEventListener("keydown", Submit);
  73.  
  74. </script>
  75.  
  76. <style type="text/css">
  77. .bar{
  78. display: inline-block;
  79. border-style: solid;
  80. border-width: 1px;
  81. border-color: black;
  82. }
  83. .focus{
  84. border-color: red;
  85. }
  86. </style>
  87.  
  88. </body>
  89. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement