Guest User

Untitled

a guest
Jun 25th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.04 KB | None | 0 0
  1. var isBaddieMovable = function(moveLeft, moveTop) {
  2. var movable, newLeft, newTop, max;
  3. console.log("Checking if baddie collided with the content walls");
  4. movable = true;
  5. // Get baddie's new position if moved
  6. newLeft = left + moveLeft*step;
  7. newTop = top + moveTop*step;
  8. console.log("Checking collision at", newLeft, newTop);
  9.  
  10. // Left wall collide check - check if newLeft outside content
  11. var condition = false;
  12. if(newLeft < 0) {
  13. movable = false;
  14. console.log("Baddie collided with left wall");
  15. }
  16. condition = false;
  17. // Top wall collide check - check if newTop is outside content
  18. if(newTop < 0) {
  19. movable = false;
  20. console.log("Baddie collided with top wall");
  21. }
  22. // Right wall collide check
  23. max = 400;
  24. if(newLeft + baddie.offsetWidth > max) {
  25. movable = false;
  26. console.log("Baddie collided with right wall");
  27. }
  28. // Bottom wall collide check
  29. max = 300;
  30. if(newTop + baddie.offsetHeight > max) {
  31. movable = false;
  32. console.log("Baddie collided with bottom wall");
  33. }
  34.  
  35. // Return if baddie collided
  36. return movable;
  37. };
  38.  
  39. Console:
  40. Baddie will step 50 pixels each move
  41. Baddie starts at 0,0
  42. 37 was pressed
  43. Checking if baddie collided with the content walls
  44. Checking collision at -50 0
  45. Baddie collided with left wall
  46.  
  47. var moveBaddie = function(moveLeft, moveTop) {
  48.  
  49. left += moveLeft*step;
  50. top += moveTop*step;
  51.  
  52. baddie.style.left = left + "px";
  53. baddie.style.top = top + "px";
  54. };
  55.  
  56. (function(){
  57. 'use strict';
  58.  
  59. var baddie, content;
  60. var step, left, top;
  61.  
  62. baddie = document.getElementById("baddie");
  63. content = document.getElementById("content");
  64.  
  65. step = baddie.offsetWidth;
  66. console.log("Baddie will step " + step + " pixels each move");
  67.  
  68. // Gets starting position of baddie
  69. left = baddie.offsetLeft;
  70. top = baddie.offsetTop;
  71. console.log("Baddie starts at " + left + "," + top);
  72.  
  73. /* ------------------------------------
  74. * EVENTS
  75. */
  76. // Triggers action on keypress
  77. document.addEventListener("keydown", function(event) {
  78. var key;
  79. // Gets what key was pressed as number
  80. key = event.keyCode || event.which;
  81. console.log(key + " was pressed");
  82.  
  83. // Switch case to decide where baddie is to go
  84. switch(key) {
  85. case 37: {
  86. isBaddieMovable(-1, 0);
  87. return moveBaddie(-1, 0)+turnLeft();
  88. }
  89. break;
  90. case 38:{
  91. isBaddieMovable(0, -1);
  92. return moveBaddie( 0, -1);
  93. break;
  94. }
  95. case 39: {
  96. isBaddieMovable(1, 0);
  97. return moveBaddie(1, 0)+turnRight();
  98. break;
  99. }
  100. case 40: {
  101. isBaddieMovable(0, 1);
  102. return moveBaddie(0, 1);
  103.  
  104. break;
  105. }
  106. default:
  107. console.log("Nothing happened with the gameboard");
  108.  
  109. return true;
  110. }
  111. // Baddie action was performed - prevent button default
  112. event.preventDefault();
  113. });
  114.  
  115. break;
  116. case 38:
  117. if (isBaddieMovable(0, -1))
  118. return moveBaddie( 0, -1);
  119. break;
  120.  
  121. case 39:
  122. if (isBaddieMovable(1, 0))
  123. return moveBaddie(1, 0)+turnRight();
  124. break;
  125. case 40:
  126. if (isBaddieMovable(0, 1))
  127. return moveBaddie(0, 1);
  128. break;
  129.  
  130. switch(key) {
  131. case 37:
  132. if (isBaddieMovable(-1, 0))
  133. return moveBaddie(-1, 0)+turnLeft();
  134.  
  135. break;
  136. case 38:
  137. if (isBaddieMovable(0, -1))
  138. return moveBaddie( 0, -1);
  139. break;
  140.  
  141. case 39:
  142. if (isBaddieMovable(1, 0))
  143. return moveBaddie(1, 0)+turnRight();
  144. break;
  145. case 40:
  146. if (isBaddieMovable(0, 1))
  147. return moveBaddie(0, 1);
  148. break;
  149.  
  150. var movementToDo = {left:0,up:0};
  151. var couldMove = false;
  152.  
  153. switch(key) {
  154. case 37:
  155. movementToDo.left= -1;
  156. movementToDo.up = 0;
  157. break;
  158. case 38:
  159. movementToDo.left= 0;
  160. movementToDo.up = -1;
  161. break;
  162. case 39:
  163. movementToDo.left= 1;
  164. movementToDo.up = 0;
  165. break;
  166. case 40:
  167. movementToDo.left= 0;
  168. movementToDo.up = 1;
  169. break;
  170. default:
  171. console.log("Nothing happened with the gameboard");
  172.  
  173. return true;
  174. }
  175.  
  176. if(isBaddieMovable(movementToDo.left,movementToDo.up)){
  177. moveBaddie(movementToDo.left,movementToDo.up);
  178. }
  179.  
  180. var isBaddieMovable = function(moveLeft, moveTop) {
  181. var newLeft, newTop, max;
  182. console.log("Checking if baddie collided with the content walls");
  183. // Get baddie's new position if moved
  184. newLeft = left + moveLeft*step;
  185. newTop = top + moveTop*step;
  186. console.log("Checking collision at", newLeft, newTop);
  187.  
  188. // Left wall collide check - check if newLeft outside content
  189.  
  190. if(newLeft < 0) {
  191. console.log("Baddie collided with left wall");
  192. return false;
  193. }
  194.  
  195. if(newTop < 0) {
  196. console.log("Baddie collided with top wall");
  197. return false;
  198. }
  199. // Right wall collide check
  200. max = 400;
  201. if(newLeft + baddie.offsetWidth > max) {
  202. console.log("Baddie collided with right wall");
  203. return false;
  204. }
  205. // Bottom wall collide check
  206. max = 300;
  207. if(newTop + baddie.offsetHeight > max) {
  208. console.log("Baddie collided with bottom wall");
  209. return false;
  210. }
  211.  
  212. // Return if baddie collided
  213. return true;
  214. };
Add Comment
Please, Sign In to add comment