这是一个简单的用HTML、CSS和JavaScript实现的贪吃蛇游戏示例。
HTML部分:
<!DOCTYPE html>
<html>
<head>
<title>贪吃蛇游戏</title>
<style>
#gameBoard {
position: relative;
width: 400px;
height: 400px;
border: 1px solid black;
}
.snake {
position: absolute;
width: 20px;
height: 20px;
background-color: green;
}
.food {
position: absolute;
width: 20px;
height: 20px;
background-color: red;
}
</style>
</head>
<body>
<div id="gameBoard"></div>
<script src="snake.js"></script>
</body>
</html>
JavaScript部分(snake.js):
document.addEventListener('DOMContentLoaded', () => {
const gameBoard = document.getElementById('gameBoard');
let snake = [{ x: 200, y: 200 }];
let food = {};
function createFood() {
food = {
x: Math.floor(Math.random() * 20) * 20,
y: Math.floor(Math.random() * 20) * 20
};
const foodElement = document.createElement('div');
foodElement.className = 'food';
foodElement.style.left = food.x + 'px';
foodElement.style.top = food.y + 'px';
gameBoard.appendChild(foodElement);
}
function drawSnake() {
gameBoard.innerHTML = '';
snake.forEach(segment => {
const snakeElement = document.createElement('div');
snakeElement.className = 'snake';
snakeElement.style.left = segment.x + 'px';
snakeElement.style.top = segment.y + 'px';
gameBoard.appendChild(snakeElement);
});
}
function moveSnake() {
const head = { x: snake[0].x, y: snake[0].y };
if (direction === 'up') head.y -= 20;
if (direction === 'down') head.y += 20;
if (direction === 'left') head.x -= 20;
if (direction === 'right') head.x += 20;
snake.unshift(head);
if (head.x === food.x && head.y === food.y) {
createFood();
} else {
snake.pop();
}
}
function checkCollision() {
const head = snake[0];
if (
head.x < 0 ||
head.x >= gameBoard.clientWidth ||
head.y < 0 ||
head.y >= gameBoard.clientHeight ||
snake.slice(1).some(segment => segment.x === head.x && segment.y === head.y)
) {
clearInterval(gameLoop);
alert('游戏结束!');
}
}
let direction = 'right';
document.addEventListener('keydown', event => {
if (event.key === 'ArrowUp' && direction !== 'down') direction = 'up';
if (event.key === 'ArrowDown' && direction !== 'up') direction = 'down';
if (event.key === 'ArrowLeft' && direction !== 'right') direction = 'left';
if (event.key === 'ArrowRight' && direction !== 'left') direction = 'right';
});
createFood();
let gameLoop = setInterval(() => {
moveSnake();
drawSnake();
checkCollision();
}, 150);
});
这个示例使用了HTML来创建游戏界面,CSS来设置样式,JavaScript来处理游戏逻辑。游戏界面是一个400x400像素的方格。游戏中的蛇是由一系列20x20像素的方块组成,食物也是一个20x20像素的方块。玩家可以使用方向键来控制蛇的移动方向。当蛇吃到食物时,它会变长。游戏会在蛇撞到边界或自己的身体时结束。
你可以将这些代码保存到一个HTML文件中,并在浏览器中打开该文件来运行贪吃蛇游戏。
JavaScript是一种高级编程语言,用于在网页上实现交互和动态性。它是一种面向对象的语言,具有类似于C语言的语法和功能。
JavaScript最初是为了在网页上添加简单的交互功能而创建的,但随着时间的推移,它已经发展成为一种功能强大且广泛使用的语言。它可以用于开发前端和后端应用程序,并且可以在不同的平台和设备上运行。
JavaScript有许多特性和功能,其中一些是:
JavaScript可以通过内联方式嵌入在HTML页面中,也可以作为外部文件引用。它可以用于处理表单验证、动态内容更新、动画效果、数据请求等各种任务。
JavaScript是一种功能强大且灵活的编程语言,用于为网页添加交互和动态性,并且已经成为Web开发的基础之一。
HTML(超文本标记语言)是一种用于创建网页的标记语言。它由一系列标签组成,这些标签描述了网页的结构和内容。HTML标签告诉浏览器如何显示网页的元素,例如标题、段落、图像、链接等。
以下是一些HTML的基本概念:
<tagname>
。标签通常成对出现,由开始标签和结束标签组成,如<tagname>content</tagname>
。有些标签是自封闭的,不需要结束标签。<tagname attribute="value">
。<h1>
到<h6>
,用于定义不同级别的标题。<p>
标签可以定义段落。<a>
标签可以创建链接到其他页面、文件或特定位置的链接。<img>
标签可以插入图像,需要指定图像的URL和一些可选属性。<ol>
)、无序列表(<ul>
)和定义列表(<dl>
)等标签,用于创建不同类型的列表。<table>
、<tr>
、<th>
和<td>
等标签可以创建表格,并定义表格的行、列和标题。<form>
、<input>
、<textarea>
、<select>
和<button>
等。表单用于收集用户输入的数据。这只是HTML的一些基本概念,HTML有很多其他的标签和功能,可以根据需要进一步学习和掌握。
CSS(层叠样式表)是一种用于描述网页的样式和外观的语言。CSS与HTML结合使用,用于控制网页中的布局、颜色、字体、大小、边距等方面的样式。
以下是一些CSS的基本概念:
p
选择所有的 <p>
元素。color
属性用于设置文本的颜色,font-size
属性用于设置字体的大小。每个属性都有相应的值。color
属性可以设置为具体颜色的名称(例如red
)或使用十六进制值(例如#ff0000
)。width
、height
、padding
、border
和margin
)来控制盒子的大小和间距。display
(用于控制元素的显示类型)和position
(用于控制元素的定位方式)。这些只是CSS的一些基本概念,CSS还有更多的属性和功能,可以根据需要进一步学习和掌握。
【温故而知新】JavaScript数字精度丢失问题
【温故而知新】JavaScript的继承方式有那些
【温故而知新】JavaScript中内存泄露有那几种
【温故而知新】JavaScript函数式编程
【温故而知新】JavaScript的防抖与节流
【温故而知新】JavaScript事件循环