کاربران گرامی در این پروژه به شما پروژه بازی با جاوا اسکریپت را قرارداده ایم شما عزیزان می توانید از بخش دانلود پروژه بازی با جاوااسکریپت سایر بازی هایی که با جاوا اسکریپت طراحی شده اند را مشاهده و دانلود کنید.
در صورتی که نیاز به آموزش حضوری و یا غیر حضوری این پروژه داشتید میتوانید با ما در ارتباط باشید تا این پروژه را به شما آموزش دهیم حتی میتوانید در صورت دلخواه پروژه را به خواسته شما شخصی سازی کنیم لازم به ذکر است که تیم پروژه در صفحه دانلود پروژه بازی بازی های مختلفی را به زبان های مختلف برنامه نویسی قرار داده است .شماره تماس با پرپروژه 09050394455 می باشد
ایجاد یک بازی "چک حافظه" (Memory Check Game) با استفاده از JavaScript یک پروژه سرگرمکننده و مفید برای یادگیری برنامهنویسی وب است. این بازی معمولاً شامل یک صفحه با تعدادی کارت است که کاربر باید کارتهای مشابه را پیدا کند.
### ویژگیهای اصلی بازی
1. **کارتها**: تعدادی کارت با تصاویر یا رنگهای مختلف.
2. **معکوس شدن کارتها**: کارتها به صورت تصادفی چیده شده و پس از مدتی معکوس میشوند.
3. **پیدا کردن جفتها**: کاربر باید کارتهای مشابه را پیدا کند و آنها را بردارد.
4. **زمان و امتیاز**: نمایش زمان و امتیاز نهایی کاربر.
### مراحل پیادهسازی پروژه
#### ۱. ساختار پروژه
ابتدا یک پوشه جدید به نام `memory-check-game` ایجاد کرده و در آن سه فایل به نامهای `index.html`، `styles.css` و `script.js` بسازید.
#### ۲. ایجاد فایل HTML
**index.html**:
```html
بازی چک حافظه
```
این کد HTML شامل عنوان، صفحه بازی و بخش امتیاز است.
#### ۳. ایجاد فایل CSS
**styles.css**:
```css
body {
font-family: Arial, sans-serif;
background-color: #f4f4f4;
margin: 0;
padding: 20px;
}
.container {
max-width: 600px;
margin: auto;
text-align: center;
}
.game-board {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 10px;
margin: 20px 0;
}
.card {
width: 100%;
padding: 20px;
background-color: #007BFF;
color: white;
border-radius: 5px;
text-align: center;
cursor: pointer;
font-size: 24px;
}
.card.flipped {
background-color: #fff;
color: #007BFF;
}
.score-board {
margin-top: 20px;
}
```
این کد CSS برای طراحی زیبای کارتها و صفحه بازی استفاده میشود.
#### ۴. پیادهسازی منطق بازی در JavaScript
**script.js**:
```javascript
const cardValues = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'];
const gameBoard = document.getElementById('game-board');
const scoreDisplay = document.getElementById('score');
const restartBtn = document.getElementById('restart-btn');
let cards = [];
let flippedCards = [];
let score = 0;
let matchedPairs = 0;
let lockBoard = false;
// Shuffle function to randomize card values
function shuffle(array) {
for (let i = array.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[array[i], array[j]] = [array[j], array[i]];
}
return array;
}
// Create cards and add them to the board
function createBoard() {
const shuffledCards = shuffle(cardValues);
shuffledCards.forEach((value) => {
const card = document.createElement('div');
card.classList.add('card');
card.setAttribute('data-value', value);
card.addEventListener('click', flipCard);
gameBoard.appendChild(card);
cards.push(card);
});
}
// Flip card function
function flipCard() {
if (lockBoard) return;
if (flippedCards.includes(this)) return;
this.classList.add('flipped');
this.textContent = this.getAttribute('data-value');
flippedCards.push(this);
if (flippedCards.length === 2) {
lockBoard = true;
checkForMatch();
}
}
// Check for match
function checkForMatch() {
const [firstCard, secondCard] = flippedCards;
const isMatch = firstCard.getAttribute('data-value') === secondCard.getAttribute('data-value');
if (isMatch) {
score += 10;
scoreDisplay.textContent = score;
matchedPairs++;
resetBoard();
if (matchedPairs === cardValues.length / 2) {
setTimeout(() => alert('شما برنده شدید!'), 500);
}
} else {
setTimeout(() => {
firstCard.classList.remove('flipped');
secondCard.classList.remove('flipped');
firstCard.textContent = '';
secondCard.textContent = '';
resetBoard();
}, 1000);
}
}
// Reset the board
function resetBoard() {
flippedCards = [];
lockBoard = false;
}
// Restart the game
function restartGame() {
gameBoard.innerHTML = '';
cards = [];
flippedCards = [];
score = 0;
matchedPairs = 0;
scoreDisplay.textContent = score;
createBoard();
}
// Initialize the game
restartBtn.addEventListener('click', restartGame);
createBoard();
```
### توضیحات کد
1. **شکلدهی کارتها**: کارتها با استفاده از `cardValues` ایجاد شده و به صورت تصادفی بر روی صفحه قرار میگیرند.
2. **چرخش کارتها**: با کلیک روی کارت، متن داخل کارت نمایش داده میشود.
3. **بررسی تطابق**: اگر دو کارت مشابه انتخاب شوند، امتیاز کاربر افزایش مییابد و کارتها باقی میمانند. در غیر این صورت، بعد از یک ثانیه معکوس میشوند.
4. **شروع مجدد بازی**: با کلیک بر روی دکمه "شروع دوباره"، بازی از ابتدا آغاز میشود.
### نحوه اجرای پروژه
1. فایلها را ذخیره کرده و سپس فایل `index.html` را در مرورگر خود باز کنید.
2. بازی را شروع کنید و سعی کنید کارتهای مشابه را پیدا کنید.
### نتیجهگیری
این پروژه یک بازی چک حافظه ساده را با استفاده از JavaScript پیادهسازی میکند. شما میتوانید این بازی را با افزودن ویژگیهای بیشتر مانند سطحهای دشواری، زمان سنج یا انتخاب تصاویر به جای حروف گسترش دهید. این پروژه به شما در یادگیری مفاهیم اولیه توسعه وب و مدیریت رویدادها در JavaScript کمک خواهد کرد.
| صفحه قابل مشاهده:
دانلود پروژه ایجاد یک بازی "چک حافظه" (Memory Check Game) میباشد