HBuilderX写个拼图游戏代码
时间: 2023-05-13 19:05:08 浏览: 269
拼图游戏代码
非常感谢您的提问!以下是一个简单的拼图游戏代码示例,使用 HBuilderX 编写:
```html
<!DOCTYPE html>
<html>
<head>
<title>拼图游戏</title>
<style>
.container {
display: flex;
flex-wrap: wrap;
width: 300px;
height: 300px;
margin: 0 auto;
border: 1px solid #ccc;
}
.container div {
box-sizing: border-box;
width: 100px;
height: 100px;
border: 1px solid #ccc;
background-size: 300px 300px;
background-repeat: no-repeat;
cursor: pointer;
}
</style>
</head>
<body>
<div class="container">
<div style="background-image: url('1.jpg');"></div>
<div style="background-image: url('2.jpg');"></div>
<div style="background-image: url('3.jpg');"></div>
<div style="background-image: url('4.jpg');"></div>
<div style="background-image: url('5.jpg');"></div>
<div style="background-image: url('6.jpg');"></div>
<div style="background-image: url('7.jpg');"></div>
<div style="background-image: url('8.jpg');"></div>
<div style="background-image: url('9.jpg');"></div>
</div>
<script>
var container = document.querySelector('.container');
var divs = container.querySelectorAll('div');
var emptyIndex = 8;
divs.forEach(function(div, index) {
div.addEventListener('click', function() {
var currentIndex = Array.prototype.indexOf.call(divs, this);
if (currentIndex === emptyIndex - 1 || currentIndex === emptyIndex + 1 || currentIndex === emptyIndex - 3 || currentIndex === emptyIndex + 3) {
container.insertBefore(this, divs[emptyIndex]);
emptyIndex = currentIndex;
}
});
});
</script>
</body>
</html>
```
这是一个基于 HTML、CSS 和 JavaScript 的简单拼图游戏,使用了 flex 布局和背景图片来实现。每个拼图块都是一个 div 元素,点击后可以与空白块交换位置,从而完成拼图。
阅读全文