Advertisement
Guest User

Untitled

a guest
Jul 21st, 2019
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.08 KB | None | 0 0
  1.  
  2. <html>
  3. <head>
  4. <meta charset="utf-8" />
  5. <title>cyber tech buzz Game</title>
  6. <style type="text/css">
  7. body {text-align:center;}
  8. canvas { border:5px dotted #ccc; }
  9. h1 { font-size:50px; text-align: center; margin: 0; padding-bottom: 25px;}
  10. </style>
  11. <script type="text/javascript">
  12. function play_game()
  13. {
  14. var level = 160; // Game level, by decreasing will speed up
  15. var rect_w = 45; // Width
  16. var rect_h = 30; // Height
  17. var inc_score = 50; // Score
  18. var snake_color = "#385726"; // Snake Color
  19. var ctx; // Canvas attributes
  20. var tn = []; // temp directions storage
  21. var x_dir = [-1, 0, 1, 0]; // position adjusments
  22. var y_dir = [0, -1, 0, 1]; // position adjusments
  23. var queue = [];
  24. var frog = 1; // defalut food
  25. var map = [];
  26. var MR = Math.random;
  27. var X = 5 + (MR() * (rect_w - 10))|0; // Calculate positions
  28. var Y = 5 + (MR() * (rect_h - 10))|0; // Calculate positions
  29. var direction = MR() * 3 | 0;
  30. var interval = 0;
  31. var score = 0;
  32. var sum = 0, easy = 0;
  33. var i, dir;
  34. // getting play area
  35. var c = document.getElementById('playArea');
  36. ctx = c.getContext('2d');
  37. // Map positions
  38. for (i = 0; i < rect_w; i++)
  39. {
  40. map[i] = [];
  41. }
  42. // random placement of snake food
  43. function rand_frog()
  44. {
  45. var x, y;
  46. do
  47. {
  48. x = MR() * rect_w|0;
  49. y = MR() * rect_h|0;
  50. }
  51. while (map[x][y]);
  52. map[x][y] = 1;
  53. ctx.fillStyle = snake_color;
  54. ctx.strokeRect(x * 10+1, y * 10+1, 8, 8);
  55. }
  56. // Default somewhere placement
  57. rand_frog();
  58. function set_game_speed()
  59. {
  60. if (easy)
  61. {
  62. X = (X+rect_w)%rect_w;
  63. Y = (Y+rect_h)%rect_h;
  64. }
  65. --inc_score;
  66. if (tn.length)
  67. {
  68. dir = tn.pop();
  69. if ((dir % 2) !== (direction % 2))
  70. {
  71. direction = dir;
  72. }
  73. }
  74. if ((easy || (0 <= X && 0 <= Y && X < rect_w && Y < rect_h)) && 2 !== map[X][Y])
  75. {
  76. if (1 === map[X][Y])
  77. {
  78. score+= Math.max(5, inc_score);
  79. inc_score = 50;
  80. rand_frog();
  81. frog++;
  82. }
  83. //ctx.fillStyle("#ffffff");
  84. ctx.fillRect(X * 10, Y * 10, 9, 9);
  85. map[X][Y] = 2;
  86. queue.unshift([X, Y]);
  87. X+= x_dir[direction];
  88. Y+= y_dir[direction];
  89. if (frog < queue.length)
  90. {
  91. dir = queue.pop()
  92. map[dir[0]][dir[1]] = 0;
  93. ctx.clearRect(dir[0] * 10, dir[1] * 10, 10, 10);
  94. }
  95. }
  96. else if (!tn.length)
  97. {
  98. var msg_score = document.getElementById("msg");
  99. msg_score.innerHTML = "<a href=https://www.facebook.com/cybertechbuzz>Thank you for playing game Click here....<a/><br /> Your Score : <b>"+score+"</b><br /><br /><input type='button' value='Play Again' onclick='window.location.reload();' />";
  100. document.getElementById("playArea").style.display = 'none';
  101. window.clearInterval(interval);
  102. }
  103. }
  104. interval = window.setInterval(set_game_speed, level);
  105. document.onkeydown = function(e) {
  106. var code = e.keyCode - 37;
  107. if (0 <= code && code < 4 && code !== tn[0])
  108. {
  109. tn.unshift(code);
  110. }
  111. else if (-5 == code)
  112. {
  113. if (interval)
  114. {
  115. window.clearInterval(interval);
  116. interval = 0;
  117. }
  118. else
  119. {
  120. interval = window.setInterval(set_game_speed, 60);
  121. }
  122. }
  123. else
  124. {
  125. dir = sum + code;
  126. if (dir == 44||dir==94||dir==126||dir==171) {
  127. sum+= code
  128. } else if (dir === 218) easy = 1;
  129. }
  130. }
  131. }
  132. </script>
  133. </head>
  134. <body onload="play_game()">
  135. <h1>Snake Game by Mayur Subhedar</h1>
  136. <div id="msg"></div>
  137. <canvas id="playArea" width="450" height="300"><a href="https://www.facebook.com/mayur.subhedar">Sorry your browser does not support HTML5</a></canvas>
  138. </body>
  139. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement