Advertisement
Guest User

Untitled

a guest
Apr 15th, 2025
211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.12 KB | None | 0 0
  1. temp=0
  2.  
  3. System: You are a helpful assistant
  4. > write me a snake game as a single html file.
  5. Sure, here's a simple implementation of the classic Snake game using HTML, CSS, and JavaScript. This example assumes you have basic knowledge of HTML, CSS, and JavaScript.
  6.  
  7. ```html
  8. <!DOCTYPE html>
  9. <html lang="en">
  10. <head>
  11. <meta charset="UTF-8">
  12. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  13. <title>Snake Game</title>
  14. <style>
  15. body {
  16. display: flex;
  17. justify-content: center;
  18. align-items: center;
  19. height: 100vh;
  20. margin: 0;
  21. background-color: #f0f0f0;
  22. }
  23. canvas {
  24. border: 1px solid #000;
  25. }
  26. </style>
  27. </head>
  28. <body>
  29. <canvas id="gameCanvas" width="400" height="400"></canvas>
  30. <script>
  31. const canvas = document.getElementById('gameCanvas');
  32. const context = canvas.getContext('2d');
  33. const snake = [];
  34. const food = [];
  35. const direction = { x: 0, y: 0 };
  36. const snakeLength = 1;
  37. const gameOver = false;
  38.  
  39. function drawSnake() {
  40. context.clearRect(0, 0, canvas.width, canvas.height);
  41. for (let i = snake.length - 1; i >= 0; i--) {
  42. context.beginPath();
  43. context.moveTo(snake[i].x, snake[i].y);
  44. context.lineTo(snake[i].x, snake[i].y);
  45. context.stroke();
  46. }
  47. }
  48.  
  49. function drawFood() {
  50. context.beginPath();
  51. context.arc(food[0].x, food[0].y, 5, 0, Math.PI * 2);
  52. context.fill();
  53. }
  54.  
  55. function update() {
  56. context.clearRect(0, 0, canvas.width, canvas.height);
  57. drawSnake();
  58. drawFood();
  59. context.save();
  60. context.beginPath();
  61. context.moveTo(direction.x, direction.y);
  62. context.lineTo(direction.x + snake[0].x, direction.y + snake[0].y);
  63. context.lineTo(direction.x + snake[0].x, direction.y + snake[0].y);
  64. context.lineTo(direction.x + snake[0].x, direction.y + snake[0].y);
  65. context.lineTo(direction.x + snake[0].x, direction.y + snake[0].y);
  66. context.lineTo(direction.x + snake[0].x, direction.y + snake[0].y);
  67. context.lineTo(direction.x + snake[0].x, direction.y + snake[0].y);
  68. context.lineTo(direction.x + snake[0].x, direction.y + snake[0].y);
  69. context.lineTo(direction.x + snake[0].x, direction.y + snake[0].y);
  70. context.lineTo(direction.x + snake[0].x, direction.y + snake[0].y);
  71. context.lineTo(direction.x + snake[0].x, direction.y + snake[0].y);
  72. context.lineTo(direction.x + snake[0].x, direction.y + snake[0].y);
  73. context.lineTo(direction.x + snake[0].x, direction.y + snake[0].y);
  74. context.lineTo(direction.x + snake[0].x, direction.y + snake[0].y);
  75. context.lineTo(direction.x + snake[0].x, direction.y + snake[0].y);
  76. context.lineTo(direction.x + snake[0].x, direction.y + snake[0].y);
  77. Ctrl+C pressed, exiting...
  78.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement