کاربران گرامی در این پروژه به شما پروژه بازی با جاوا اسکریپت را قرارداده ایم شما عزیزان می توانید از بخش دانلود پروژه بازی با جاوااسکریپت سایر بازی هایی که با جاوا اسکریپت طراحی شده اند را مشاهده و دانلود کنید.
در صورتی که نیاز به آموزش حضوری و یا غیر حضوری این پروژه داشتید میتوانید با ما در ارتباط باشید تا این پروژه را به شما آموزش دهیم حتی میتوانید در صورت دلخواه پروژه را به خواسته شما شخصی سازی کنیم لازم به ذکر است که تیم پروژه در صفحه دانلود پروژه بازی بازی های مختلفی را به زبان های مختلف برنامه نویسی قرار داده است .شماره تماس با پرپروژه 09050394455 می باشد
در اینجا یک پروژه ساده برای ایجاد یک **بازی حافظه (Memory Card Game)** با استفاده از HTML، CSS و JavaScript ارائه شده است. در این بازی، بازیکن باید کارتهای مشابه را پیدا کند و آنها را از بازی خارج کند.
### 1. **HTML**
ابتدا ساختار HTML را برای بازی حافظه ایجاد میکنیم.
```html
بازی حافظه
```
### 2. **CSS**
برای طراحی ظاهری بازی حافظه از CSS استفاده میکنیم.
```css
body {
font-family: Arial, sans-serif;
background-color: #f4f4f4;
margin: 0;
display: flex;
flex-direction: column;
align-items: center;
}
.game-container {
text-align: center;
}
.cards-container {
display: grid;
grid-template-columns: repeat(4, 100px);
gap: 10px;
margin: 20px 0;
}
.card {
width: 100px;
height: 100px;
background-color: #007bff;
border-radius: 10px;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 24px;
cursor: pointer;
transition: transform 0.3s;
}
.card.flipped {
background-color: #ffffff;
color: #000;
transform: rotateY(180deg);
}
.card.matched {
background-color: #28a745;
color: #ffffff;
}
button {
margin-top: 20px;
padding: 10px 20px;
font-size: 16px;
cursor: pointer;
}
#score {
margin-top: 20px;
font-size: 20px;
}
```
### 3. **JavaScript**
سپس منطق بازی را با JavaScript پیادهسازی میکنیم.
```javascript
const cardsContainer = document.getElementById('cards-container');
const restartBtn = document.getElementById('restart-btn');
const scoreDisplay = document.getElementById('score');
const cardValues = [
'A', 'A', 'B', 'B', 'C', 'C', 'D', 'D',
'E', 'E', 'F', 'F', 'G', 'G', 'H', 'H'
];
let firstCard = null;
let secondCard = null;
let lockBoard = false;
let score = 0;
// تابع برای شروع بازی
function startGame() {
score = 0;
scoreDisplay.textContent = `امتیاز: ${score}`;
cardsContainer.innerHTML = '';
lockBoard = false;
const shuffledCards = shuffleArray(cardValues);
shuffledCards.forEach(value => {
const card = document.createElement('div');
card.classList.add('card');
card.dataset.value = value;
card.addEventListener('click', flipCard);
cardsContainer.appendChild(card);
});
}
// تابع برای شافل کردن آرایه
function shuffleArray(array) {
return array.sort(() => Math.random() - 0.5);
}
// تابع برای برعکس کردن کارت
function flipCard() {
if (lockBoard) return;
if (this === firstCard) return;
this.classList.add('flipped');
if (!firstCard) {
firstCard = this;
return;
}
secondCard = this;
lockBoard = true;
checkForMatch();
}
// تابع برای چک کردن مطابقت
function checkForMatch() {
const isMatch = firstCard.dataset.value === secondCard.dataset.value;
if (isMatch) {
disableCards();
score++;
scoreDisplay.textContent = `امتیاز: ${score}`;
if (score === cardValues.length / 2) {
setTimeout(() => alert('شما برنده شدید!'), 500);
}
} else {
unflipCards();
}
}
// تابع برای غیر فعال کردن کارتها
function disableCards() {
firstCard.classList.add('matched');
secondCard.classList.add('matched');
resetBoard();
}
// تابع برای برعکس کردن کارتها
function unflipCards() {
setTimeout(() => {
firstCard.classList.remove('flipped');
secondCard.classList.remove('flipped');
resetBoard();
}, 1000);
}
// تابع برای تنظیم مجدد برد
function resetBoard() {
[firstCard, secondCard, lockBoard] = [null, null, false];
}
// شروع بازی
startGame();
// افزودن رویداد کلیک برای دکمه شروع دوباره
restartBtn.addEventListener('click', startGame);
```
### توضیحات کد:
1. **HTML**: شامل یک بخش برای نمایش کارتها، یک دکمه برای شروع دوباره بازی و یک بخش برای نمایش امتیاز.
2. **CSS**: طراحی ساده برای ایجاد یک محیط بازی کاربرپسند.
3. **JavaScript**:
- **آرایه کارتها**: شامل مقادیر کارتها برای بازی.
- **تابع شروع بازی**: کارتها را شافل کرده و بازی را تنظیم میکند.
- **تابع شافل**: کارتها را به صورت تصادفی مرتب میکند.
- **تابع برعکس کردن کارت**: کارتها را برعکس کرده و بررسی میکند که آیا دو کارت مشابه هستند یا خیر.
- **چک کردن مطابقت**: در صورت مطابقت، کارتها را غیرفعال کرده و امتیاز را افزایش میدهد.
### نتیجهگیری
این پروژه **بازی حافظه** یک مثال عالی برای یادگیری مفاهیم جاوااسکریپت، مانند مدیریت رویدادها و دستکاری DOM است. شما میتوانید این پروژه را گسترش دهید و ویژگیهای بیشتری مانند زمانسنج، تغییر طراحی یا سطوح مختلف دشواری اضافه کنید. از کدنویسی لذت ببرید!
| صفحه قابل مشاهده:
دانلود پروژه **بازی حافظه (Memory Card Game)** با استفاده از HTML، CSS و JavaScript میباشد