Advertisement
Guest User

Untitled

a guest
Nov 24th, 2014
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // awesome goblin game
  2.  
  3. // Create the canvas
  4. var canvas = document.createElement("canvas");
  5. var ctx = canvas.getContext("2d");
  6. canvas.width = 512;
  7. canvas.height = 480;
  8. document.body.appendChild(canvas);
  9.  
  10. // Background image
  11. var bgReady = false;
  12. var bgImage = new Image();
  13. bgImage.onload = function () {
  14.     bgReady = true;
  15. };
  16. bgImage.src = "images/background.png";
  17.  
  18. // Hero image
  19. var heroReady = false;
  20. var heroImage = new Image();
  21. heroImage.onload = function () {
  22.     heroReady = true;
  23. };
  24. heroImage.src = "images/hero.png";
  25.  
  26. // Monster image
  27. var monsterReady = false;
  28. var monsterImage = new Image();
  29. monsterImage.onload = function () {
  30.     monsterReady = true;
  31. };
  32. monsterImage.src = "images/monster.png";
  33.  
  34. // Game objects
  35. var hero = {
  36.     speed: 256, // movement in pixels per second
  37.     x: 0,
  38.     y: 0
  39. };
  40. var monster = {
  41.     speed: 256,
  42.     x: 0,
  43.     y: 0
  44. };
  45. var monstersCaught = 0;
  46. var delta = 0;
  47. var directionMonster = 0;
  48. var goThisWay = 1;
  49. // Handle keyboard controls
  50. var keysDown = {};
  51.  
  52. addEventListener("keydown", function (e) {
  53.     keysDown[e.keyCode] = true;
  54. }, false);
  55.  
  56. addEventListener("keyup", function (e) {
  57.     delete keysDown[e.keyCode];
  58. }, false);
  59.  
  60. // Reset the game when the player catches a monster
  61. var reset = function () {
  62.     hero.x = canvas.width / 2;
  63.     hero.y = canvas.height / 2;
  64.  
  65.     // Throw the monster somewhere on the screen randomly
  66.     monster.x = 32 + (Math.random() * (canvas.width - 64));
  67.     monster.y = 32 + (Math.random() * (canvas.height - 64));
  68. };
  69. // Update game objects
  70. var update = function (modifier) {
  71.     if (38 in keysDown) { // Player holding up
  72.         hero.y -= hero.speed * modifier;
  73.     }
  74.     if (40 in keysDown) { // Player holding down
  75.         hero.y += hero.speed * modifier;
  76.     }
  77.     if (37 in keysDown) { // Player holding left
  78.         hero.x -= hero.speed * modifier;
  79.     }
  80.     if (39 in keysDown) { // Player holding right
  81.         hero.x += hero.speed * modifier;
  82.     }
  83.  
  84.     // Are they touching?
  85.     if (
  86.         hero.x <= (monster.x + 32)
  87.         && monster.x <= (hero.x + 32)
  88.         && hero.y <= (monster.y + 32)
  89.         && monster.y <= (hero.y + 32)
  90.     ) {
  91.         ++monstersCaught;
  92.         reset();
  93.     }
  94. };
  95. //make our monster move :)
  96. var monsterMove = function (modifier){
  97.    
  98.    
  99.    
  100.     ++directionMonster;
  101.    
  102.     if (directionMonster <= 200){
  103.         //bewegingen
  104.         //rechts => links
  105.     if (goThisWay == 1) {
  106.         monster.x = monster.x - (monster.speed * modifier);
  107.     if (monster.x <= -32){
  108.         goThisWay = 2;
  109.     }
  110.     }
  111.     //links => rechts
  112.     if (goThisWay == 2) {
  113.         monster.x = monster.x + (monster.speed * modifier);
  114.     if (monster.x >= 512){
  115.         goThisWay=1;
  116.     }
  117.     }
  118.     //boven => onderen
  119.     if (goThisWay == 3) {
  120.         monster.y = monster.y + (monster.speed * modifier);
  121.     if (monster.y >= 480){
  122.         goThisWay=4;
  123.  
  124.     }
  125.     }
  126.     //onderen => boven
  127.     if (goThisWay == 4) {
  128.         monster.y = monster.y - (monster.speed * modifier);
  129.     if (monster.y <= -32){
  130.         goThisWay=3;
  131.  
  132.     }
  133.     }      
  134.     //bepalen welke richting
  135.     if (directionMonster ==200){
  136.         directionMonster = 0;
  137.         goThisWay = Math.floor((Math.random() * 4) + 1);
  138.         console.log (goThisWay);
  139.     }  
  140.     }
  141.     };
  142. // Draw everything
  143. var render = function () {
  144.     if (bgReady) {
  145.         ctx.drawImage(bgImage, 0, 0);
  146.     }
  147.  
  148.     if (heroReady) {
  149.         ctx.drawImage(heroImage, hero.x, hero.y);
  150.     }
  151.  
  152.     if (monsterReady) {
  153.         ctx.drawImage(monsterImage, monster.x, monster.y);
  154.     }
  155.  
  156.     // Score
  157.     ctx.fillStyle = "rgb(250, 250, 250)";
  158.     ctx.font = "24px Helvetica";
  159.     ctx.textAlign = "left";
  160.     ctx.textBaseline = "top";
  161.     ctx.fillText("Monsterrs caught: " + monstersCaught, 32, 32);
  162. };
  163. // The main game loop
  164. var main = function () {
  165.     var now = Date.now();
  166.     delta = now - then;
  167.  
  168.     update(delta / 1000);
  169.         render();
  170. monsterMove(delta / 1000);
  171.  
  172.     then = now;
  173.  
  174.     // Request to do this again ASAP
  175.     requestAnimationFrame(main);
  176. };
  177.  
  178. // Cross-browser support for requestAnimationFrame
  179. var w = window;
  180. requestAnimationFrame = w.requestAnimationFrame || w.webkitRequestAnimationFrame || w.msRequestAnimationFrame || w.mozRequestAnimationFrame;
  181.  
  182. // Let's play this game!
  183. var then = Date.now();
  184. reset();
  185. main();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement