在JavaScript中实现一个找相同图片的游戏,通常涉及到以下几个基础概念:
以下是一个简单的找相同图片游戏的JavaScript代码示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>找相同图片游戏</title>
<style>
.game-board img {
width: 100px;
height: 100px;
margin: 5px;
cursor: pointer;
}
</style>
</head>
<body>
<div id="game-board" class="game-board"></div>
<div id="message"></div>
<script>
const images = ['img1.jpg', 'img2.jpg', 'img3.jpg', 'img1.jpg', 'img2.jpg', 'img3.jpg']; // 图片数组
const gameBoard = document.getElementById('game-board');
const message = document.getElementById('message');
let firstCard = null;
let secondCard = null;
let flippedCards = 0;
// 创建游戏板
function createGameBoard() {
images.sort(() => 0.5 - Math.random()); // 打乱图片顺序
for (let i = 0; i < images.length; i++) {
const imgElement = document.createElement('img');
imgElement.src = `images/${images[i]}`;
imgElement.alt = images[i];
imgElement.addEventListener('click', flipCard);
gameBoard.appendChild(imgElement);
}
}
// 翻转卡片
function flipCard() {
if (this === firstCard || this.classList.contains('flipped')) return;
this.classList.add('flipped');
flippedCards++;
if (firstCard === null) {
firstCard = this;
} else {
secondCard = this;
checkForMatch();
}
}
// 检查是否匹配
function checkForMatch() {
if (firstCard.src === secondCard.src) {
message.textContent = '匹配成功!';
firstCard = null;
secondCard = null;
} else {
message.textContent = '不匹配,请再试一次。';
setTimeout(() => {
firstCard.classList.remove('flipped');
secondCard.classList.remove('flipped');
firstCard = null;
secondCard = null;
}, 1000);
}
flippedCards = 0;
if (flippedCards === images.length) {
message.textContent = '恭喜你完成了游戏!';
}
}
createGameBoard();
</script>
</body>
</html>
flipCard
和checkForMatch
函数的逻辑。通过以上步骤,你可以创建一个基本的找相同图片游戏,并解决开发过程中可能遇到的问题。
领取专属 10元无门槛券
手把手带您无忧上云