جزئیات محصول

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

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

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

خرید فایل


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

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

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

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



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

بازی مار نوکیا

       
       
امتیاز: 0
       
   
   
```
 
### 2. **CSS**
برای طراحی ظاهری بازی از CSS استفاده می‌کنیم.
 
```css
body {
    font-family: Arial, sans-serif;
    background-color: #f4f4f4;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    margin: 0;
}
 
.container {
    text-align: center;
}
 
h1 {
    margin-bottom: 20px;
}
 
#gameCanvas {
    border: 2px solid #333;
    background-color: #fff;
}
 
.score {
    margin-top: 20px;
    font-size: 20px;
}
 
button {
    padding: 10px 20px;
    font-size: 16px;
    cursor: pointer;
    background-color: #007bff;
    color: white;
    border: none;
    border-radius: 5px;
}
```
 
### 3. **JavaScript**
سپس منطق بازی را با JavaScript پیاده‌سازی می‌کنیم. این بخش شامل کنترل مار، جمع‌آوری غذا و بررسی برخوردها است.
 
```javascript
const canvas = document.getElementById('gameCanvas');
const ctx = canvas.getContext('2d');
 
let snake = [{ x: 10, y: 10 }]; // موقعیت اولیه مار
let food = { x: 0, y: 0 }; // موقعیت غذا
let score = 0; // امتیاز
let direction = { x: 0, y: 0 }; // جهت حرکت مار
let gameInterval; // متغیر برای تنظیم فاصله زمانی بازی
 
// تابع برای تنظیم موقعیت غذا
function spawnFood() {
    food.x = Math.floor(Math.random() * (canvas.width / 10)) * 10;
    food.y = Math.floor(Math.random() * (canvas.height / 10)) * 10;
}
 
// تابع برای رسم بازی
function drawGame() {
    ctx.clearRect(0, 0, canvas.width, canvas.height); // پاک کردن صفحه
    // رسم مار
    snake.forEach((segment, index) => {
        ctx.fillStyle = index === 0 ? 'green' : 'lightgreen'; // رنگ سر و بدن مار
        ctx.fillRect(segment.x, segment.y, 10, 10);
    });
 
    // رسم غذا
    ctx.fillStyle = 'red';
    ctx.fillRect(food.x, food.y, 10, 10);
 
    // حرکت مار
    const head = { x: snake[0].x + direction.x * 10, y: snake[0].y + direction.y * 10 };
 
    // بررسی برخورد با دیواره
    if (head.x < 0 || head.x >= canvas.width || head.y < 0 || head.y >= canvas.height || collision(head)) {
        clearInterval(gameInterval);
        alert('بازی تمام شد! امتیاز شما: ' + score);
        return;
    }
 
    // بررسی جمع‌آوری غذا
    if (head.x === food.x && head.y === food.y) {
        score += 10; // افزایش امتیاز
        spawnFood(); // ایجاد غذا در موقعیت جدید
    } else {
        snake.pop(); // حذف آخرین بخش بدن مار
    }
 
    snake.unshift(head); // اضافه کردن سر جدید مار
    document.getElementById('score').innerText = `امتیاز: ${score}`; // نمایش امتیاز
}
 
// تابع برای بررسی برخورد مار با خودش
function collision(head) {
    return snake.some(segment => segment.x === head.x && segment.y === head.y);
}
 
// تابع برای مدیریت کلیدهای فشار داده شده
function changeDirection(event) {
    switch (event.key) {
        case 'ArrowUp':
            if (direction.y === 0) {
                direction = { x: 0, y: -1 };
            }
            break;
        case 'ArrowDown':
            if (direction.y === 0) {
                direction = { x: 0, y: 1 };
            }
            break;
        case 'ArrowLeft':
            if (direction.x === 0) {
                direction = { x: -1, y: 0 };
            }
            break;
        case 'ArrowRight':
            if (direction.x === 0) {
                direction = { x: 1, y: 0 };
            }
            break;
    }
}
 
// تابع برای تنظیم مجدد بازی
document.getElementById('resetBtn').addEventListener('click', () => {
    clearInterval(gameInterval);
    snake = [{ x: 10, y: 10 }];
    score = 0;
    direction = { x: 0, y: 0 };
    spawnFood();
    gameInterval = setInterval(drawGame, 100);
    document.getElementById('score').innerText = `امتیاز: ${score}`;
});
 
// افزودن رویداد برای کلیدهای صفحه‌کلید
document.addEventListener('keydown', changeDirection);
 
// شروع بازی
spawnFood();
gameInterval = setInterval(drawGame, 100);
```
 
### توضیحات کد:
1. **HTML**: شامل عنوان بازی، بوم (canvas) برای رسم بازی و دکمه‌ای برای تنظیم مجدد بازی است.
2. **CSS**: طراحی ساده و کاربرپسند برای بازی Nokia Snake.
3. **JavaScript**:
   - **تنظیم بازی**: ایجاد بوم، مار و غذا و مدیریت حرکات مار.
   - **رسم بازی**: تابع `drawGame` برای رسم مار و غذا و همچنین بررسی برخوردها.
   - **مدیریت کلیدها**: تابع `changeDirection` برای کنترل حرکات مار بر اساس کلیدهای فشرده‌شده.
   - **تنظیم مجدد بازی**: دکمه "تنظیم مجدد" برای بازنشانی بازی.
 
### نتیجه‌گیری
این پروژه **Nokia Snake** یک مثال عالی برای یادگیری نحوه کار با JavaScript، HTML و CSS است. شما می‌توانید این پروژه را گسترش دهید و ویژگی‌های بیشتری مانند سطوح مختلف، تنظیمات برای سرعت مار و یا ذخیره بالاترین امتیازها اضافه کنید. از کدنویسی لذت ببرید!
| صفحه قابل مشاهده: دانلود پروژه بازی **Nokia Snake** با استفاده از HTML، CSS و JavaScript می‌باشد