جزئیات محصول

دانلود پروژه بازی **2048** با استفاده از HTML، CSS و JavaScript

دانلود پروژه بازی **2048** با استفاده از HTML، CSS و JavaScript

قیمت: 80,000 تومان

خرید فایل


مشاهده پیشنمایش

پیشنمایش برای محصولاتی که نیاز به نمایش دمو دارند می باشد

کاربران گرامی در این پروژه به شما پروژه بازی با جاوا اسکریپت را قرارداده ایم شما عزیزان می توانید از بخش دانلود پروژه بازی با جاوااسکریپت سایر  بازی هایی که با جاوا اسکریپت طراحی شده اند را مشاهده و دانلود کنید.

در صورتی که نیاز به آموزش حضوری و یا غیر حضوری این پروژه داشتید میتوانید با ما در ارتباط باشید تا این پروژه را به شما آموزش دهیم حتی میتوانید در صورت دلخواه پروژه را به خواسته شما شخصی سازی کنیم لازم به ذکر است که تیم پروژه در صفحه دانلود پروژه بازی بازی های مختلفی را به زبان های مختلف برنامه نویسی قرار داده است .شماره تماس با پرپروژه 09050394455 می باشد


 در اینجا یک پروژه ساده برای ایجاد بازی **2048** با استفاده از HTML، CSS و JavaScript ارائه شده است. بازی 2048 یک بازی پازلی است که هدف آن ترکیب کاشی‌های هم‌عدد برای رسیدن به کاشی 2048 است.
 
### 1. **HTML**
ابتدا ساختار HTML را برای بازی 2048 ایجاد می‌کنیم.
 
```html
   
   
    بازی 2048
   
   
       

بازی 2048

       
       
           

امتیاز: 0

           
       
   
   
```
 
### 2. **CSS**
برای طراحی ظاهری بازی از CSS استفاده می‌کنیم.
 
```css
body {
    font-family: Arial, sans-serif;
    background-color: #faf8ef;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100vh;
    margin: 0;
}
 
.container {
    text-align: center;
}
 
#gameContainer {
    display: grid;
    grid-template-columns: repeat(4, 100px);
    grid-template-rows: repeat(4, 100px);
    gap: 10px;
    margin: 20px auto;
}
 
.tile {
    width: 100px;
    height: 100px;
    background-color: #eee4da;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    font-weight: bold;
    color: #776e65;
    border-radius: 5px;
}
 
.tile-2 { background-color: #ede0c8; }
.tile-4 { background-color: #f2b179; }
.tile-8 { background-color: #f59563; }
.tile-16 { background-color: #f67c5f; }
.tile-32 { background-color: #f67c5f; }
.tile-64 { background-color: #f67c5f; }
.tile-128 { background-color: #edcf72; }
.tile-256 { background-color: #edcc61; }
.tile-512 { background-color: #edc850; }
.tile-1024 { background-color: #edc53f; }
.tile-2048 { background-color: #edc22e; }
 
.status {
    margin-top: 20px;
    font-size: 24px;
    font-weight: bold;
}
 
button {
    padding: 10px 20px;
    font-size: 16px;
    cursor: pointer;
    margin-top: 20px;
}
```
 
### 3. **JavaScript**
سپس منطق برنامه را با JavaScript پیاده‌سازی می‌کنیم. این بخش شامل منطق بازی، مدیریت حرکات، و بررسی وضعیت بازی است.
 
```javascript
const gameContainer = document.getElementById('gameContainer');
const scoreDisplay = document.getElementById('score');
const restartBtn = document.getElementById('restartBtn');
 
let board = [];
let score = 0;
 
function initGame() {
    board = [
        [0, 0, 0, 0],
        [0, 0, 0, 0],
        [0, 0, 0, 0],
        [0, 0, 0, 0]
    ];
    score = 0;
    scoreDisplay.innerHTML = `امتیاز: ${score}`;
    addNewTile();
    addNewTile();
    drawBoard();
}
 
function addNewTile() {
    const emptyTiles = [];
    for (let r = 0; r < 4; r++) {
        for (let c = 0; c < 4; c++) {
            if (board[r][c] === 0) {
                emptyTiles.push({ r, c });
            }
        }
    }
    const { r, c } = emptyTiles[Math.floor(Math.random() * emptyTiles.length)];
    board[r][c] = Math.random() < 0.9 ? 2 : 4;
}
 
function drawBoard() {
    gameContainer.innerHTML = '';
    board.forEach(row => {
        row.forEach(value => {
            const tile = document.createElement('div');
            tile.classList.add('tile');
            if (value !== 0) {
                tile.classList.add(`tile-${value}`);
                tile.innerHTML = value;
            }
            gameContainer.appendChild(tile);
        });
    });
}
 
function slideLeft() {
    let moved = false;
    for (let r = 0; r < 4; r++) {
        for (let c = 1; c < 4; c++) {
            if (board[r][c] !== 0) {
                for (let i = c; i > 0; i--) {
                    if (board[r][i - 1] === 0) {
                        board[r][i - 1] = board[r][i];
                        board[r][i] = 0;
                        moved = true;
                    } else if (board[r][i - 1] === board[r][i]) {
                        board[r][i - 1] *= 2;
                        score += board[r][i - 1];
                        board[r][i] = 0;
                        moved = true;
                    }
                    break;
                }
            }
        }
    }
    return moved;
}
 
function slideRight() {
    let moved = false;
    for (let r = 0; r < 4; r++) {
        for (let c = 2; c >= 0; c--) {
            if (board[r][c] !== 0) {
                for (let i = c; i < 3; i++) {
                    if (board[r][i + 1] === 0) {
                        board[r][i + 1] = board[r][i];
                        board[r][i] = 0;
                        moved = true;
                    } else if (board[r][i + 1] === board[r][i]) {
                        board[r][i + 1] *= 2;
                        score += board[r][i + 1];
                        board[r][i] = 0;
                        moved = true;
                    }
                    break;
                }
            }
        }
    }
    return moved;
}
 
function slideUp() {
    let moved = false;
    for (let c = 0; c < 4; c++) {
        for (let r = 1; r < 4; r++) {
            if (board[r][c] !== 0) {
                for (let i = r; i > 0; i--) {
                    if (board[i - 1][c] === 0) {
                        board[i - 1][c] = board[i][c];
                        board[i][c] = 0;
                        moved = true;
                    } else if (board[i - 1][c] === board[i][c]) {
                        board[i - 1][c] *= 2;
                        score += board[i - 1][c];
                        board[i][c] = 0;
                        moved = true;
                    }
                    break;
                }
            }
        }
    }
    return moved;
}
 
function slideDown() {
    let moved = false;
    for (let c = 0; c < 4; c++) {
        for (let r = 2; r >= 0; r--) {
            if (board[r][c] !== 0) {
                for (let i = r; i < 3; i++) {
                    if (board[i + 1][c] === 0) {
                        board[i + 1][c] = board[i][c];
                        board[i][c] = 0;
                        moved = true;
                    } else if (board[i + 1][c] === board[i][c]) {
                        board[i + 1][c] *= 2;
                        score += board[i + 1][c];
                        board[i][c] = 0;
                        moved = true;
                    }
                    break;
                }
            }
        }
    }
    return moved;
}
 
function handleInput(event) {
    let moved = false;
    switch (event.key) {
        case 'ArrowLeft':
            moved = slideLeft();
            break;
        case 'ArrowRight':
            moved = slideRight();
            break;
        case 'ArrowUp':
            moved = slideUp();
            break;
        case 'ArrowDown':
            moved = slideDown();
            break;
    }
    if (moved) {
        addNewTile();
        drawBoard();
        scoreDisplay.innerHTML = `امتیاز: ${score}`;
    }
}
 
restartBtn.addEventListener('click', initGame);
document.addEventListener('keydown', handleInput);
 
initGame();
```
 
### توضیحات کد:
1. **HTML**: شامل عنوان بازی، بورد بازی و نمایش امتیاز است.
2. **CSS**: طراحی ساده برای ایجاد یک رابط کاربری زیبا و کاربرپس
 
ند.
3. **JavaScript**:
   - **ایجاد بورد**: تابع `initGame` بورد بازی را ایجاد کرده و دو کاشی را اضافه می‌کند.
   - **اضافه کردن کاشی جدید**: تابع `addNewTile` برای اضافه کردن کاشی جدید به بورد بازی.
   - **کشیدن کاشی‌ها**: توابع `slideLeft`، `slideRight`، `slideUp` و `slideDown` برای مدیریت حرکات بازیکن و ترکیب کاشی‌ها.
   - **مدیریت ورودی**: تابع `handleInput` برای شناسایی کلیدهای ورودی و انجام حرکت مناسب.
   - **دکمه ریست**: بازنشانی بازی با استفاده از دکمه "شروع دوباره".
 
### نتیجه‌گیری
این پروژه **بازی 2048** یک مثال عالی برای استفاده از مفاهیم JavaScript مانند مدیریت DOM و رویدادها است. شما می‌توانید این پروژه را گسترش دهید و ویژگی‌های بیشتری مانند افزودن امتیازدهی یا قابلیت‌های بیشتر برای بازی اضافه کنید. از کدنویسی لذت ببرید!
| صفحه قابل مشاهده: دانلود پروژه بازی **2048** با استفاده از HTML، CSS و JavaScript می‌باشد