Advertisement
NewBestPastebins

shooter game by chat gpt

Mar 10th, 2023
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.28 KB | None | 0 0
  1. DOCTYPE html>
  2. >
  3. >
  4. >Shooter Game</title>
  5. charset="UTF-8">
  6. name="viewport" content="width=device-width, initial-scale=1.0">
  7. type="text/css">
  8. canvas{
  9. border: 1px solid black;
  10. }
  11. </style>
  12. </head>
  13. >
  14. <canvas id="canvas" width="500" height="500"></canvas>
  15. src="game.js"></script>
  16. </body>
  17. </html>
  18. ```
  19.  
  20. Javascript:
  21. ```
  22. //Game canvas
  23. var canvas = document.getElementById("canvas");
  24. var ctx = canvas.getContext("2d");
  25.  
  26. //Player object
  27. var player = {
  28. x: 50,
  29. y: 450,
  30. width: 25,
  31. height: 25,
  32. speed: 5,
  33. bullets: []
  34. };
  35.  
  36. //Enemy object
  37. var enemy = {
  38. x: Math.random() * 400 + 50,
  39. y: 50,
  40. width: 25,
  41. height: 25,
  42. speedX: 0,
  43. speedY: 3
  44. };
  45.  
  46. //Shoot function
  47. function shoot(){
  48. player.bullets.push({
  49. x: player.x + player.width/2,
  50. y: player.y,
  51. width: 5,
  52. height: 10,
  53. speed: 10
  54. });
  55. }
  56.  
  57. //Keydown event listener
  58. document.addEventListener("keydown", function(event){
  59. switch(event.keyCode){
  60. case 37:
  61. player.x -= player.speed;
  62. break;
  63. case 39:
  64. player.x += player.speed;
  65. break;
  66. case 32:
  67. shoot();
  68. break;
  69. }
  70. });
  71.  
  72. //Update function
  73. function update(){
  74. //Update player bullets
  75. for(var i = 0; i < player.bullets.length; i++){
  76. player.bullets[i].y -= player.bullets[i].speed;
  77. if(player.bullets[i].y < 0){
  78. player.bullets.splice(i, 1);
  79. i--;
  80. }
  81. }
  82. //Update enemy
  83. enemy.x += enemy.speedX;
  84. enemy.y += enemy.speedY;
  85. if(enemy.x <= 50 || enemy.x >= 425){
  86. enemy.speedX *= -1;
  87. }
  88. //Collision detection
  89. for(var i = 0; i < player.bullets.length; i++){
  90. if(player.bullets[i].x < enemy.x + enemy.width &&
  91. player.bullets[i].x + player.bullets[i].width > enemy.x &&
  92. player.bullets[i].y < enemy.y + enemy.height &&
  93. player.bullets[i].y + player.bullets[i].height > enemy.y){
  94. player.bullets.splice(i, 1);
  95. enemy.x = Math.random() * 400 + 50;
  96. enemy.y = 50;
  97. enemy.speedX = 0;
  98. enemy.speedY += 1;
  99. break;
  100. }
  101. }
  102. ctx.clearRect(0,0,canvas.width,canvas.height);
  103. //Draw player
  104. ctx.fillStyle = "blue";
  105. ctx.fillRect(player.x, player.y, player.width, player.height);
  106. //Draw player bullets
  107. ctx.fillStyle = "black";
  108. for(var i = 0; i < player.bullets.length; i++){
  109. ctx.fillRect(player.bullets[i].x, player.bullets[i].y, player.bullets[i].width, player.bullets[i].height);
  110. }
  111. //Draw enemy
  112. ctx.fillStyle = "red";
  113. ctx.fillRect(enemy.x, enemy.y, enemy.width, enemy.height);
  114. }
  115.  
  116. //Game loop
  117. setInterval(update, 30);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement