|
|
当您提到“thm”时,我理解为您可能想要使用一个主题文件(theme file)来定义游戏的样式。以下是一个包含HTML、CSS、JavaScript和主题文件的简单贪吃蛇游戏示例:
HTML代码:
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>贪吃蛇游戏</title>
- <link rel="stylesheet" href="style.css">
- </head>
- <body>
- <div id="gameArea"></div>
- <script src="script.js"></script>
- </body>
- </html>
复制代码
CSS代码(style.css):
- body {
- display: flex;
- justify-content: center;
- align-items: center;
- height: 100vh;
- margin: 0;
- }
- #gameArea {
- width: 400px;
- height: 400px;
- background-color: #f0f0f0;
- position: relative;
- border: 1px solid #ccc;
- }
- .snake {
- width: 10px;
- height: 10px;
- background-color: #333;
- position: absolute;
- }
- .food {
- width: 10px;
- height: 10px;
- background-color: red;
- position: absolute;
- }
复制代码
JavaScript代码(script.js):
- const gameArea = document.getElementById('gameArea');
- let snake = [{x: 200, y: 200}];
- let food = {x: 0, y: 0};
- let direction = 'right';
- function createFood() {
- food.x = Math.floor(Math.random() * 40) * 10;
- food.y = Math.floor(Math.random() * 40) * 10;
- }
- function updateGame() {
- let head = {x: snake[0].x, y: snake[0].y};
- switch(direction) {
- case 'up':
- head.y -= 10;
- break;
- case 'down':
- head.y += 10;
- break;
- case 'left':
- head.x -= 10;
- break;
- case 'right':
- head.x += 10;
- break;
- }
- snake.unshift(head);
- if (head.x === food.x && head.y === food.y) {
- createFood();
- } else {
- snake.pop();
- }
- gameArea.innerHTML = '';
- snake.forEach(segment => {
- const snakeSegment = document.createElement('div');
- snakeSegment.className = 'snake';
- snakeSegment.style.left = segment.x + 'px';
- snakeSegment.style.top = segment.y + 'px';
- gameArea.appendChild(snakeSegment);
- });
- const foodElement = document.createElement('div');
- foodElement.className = 'food';
- foodElement.style.left = food.x + 'px';
- foodElement.style.top = food.y + 'px';
- gameArea.appendChild(foodElement);
- }
- createFood();
- setInterval(updateGame, 100);
复制代码
以上代码实现了一个简单的贪吃蛇游戏,游戏界面通过CSS文件(style.css)进行样式定义,JS文件(script.js)包含游戏的逻辑和交互部分。希望这个示例能帮助您理解如何实现一个简单的贪吃蛇游戏,并且您可以根据需要自定义主题文件来改变游戏的样式。 |
|