جزئیات محصول

دانلود پروژه  بازی نبرد گل (Goal Battle) با استفاده از JavaScript

دانلود پروژه بازی نبرد گل (Goal Battle) با استفاده از JavaScript

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

خرید فایل


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

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

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

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

ساخت یک بازی نبرد گل (Goal Battle) با استفاده از JavaScript یک پروژه سرگرم‌کننده و جذاب است که در آن دو بازیکن یا دو تیم سعی می‌کنند تا توپ را به دروازه رقیب وارد کنند. این پروژه از HTML5 Canvas برای ایجاد گرافیک‌های بازی استفاده می‌کند و می‌تواند به صورت دو نفره بر روی یک سیستم اجرا شود. ایده این بازی از فوتبال الهام گرفته شده است و برای تمرین برنامه‌نویسی و پیاده‌سازی تعاملات در بازی عالی است.
 
### ویژگی‌های اصلی پروژه
1. **بازی دو نفره**: دو بازیکن می‌توانند به‌صورت همزمان بازی کنند.
2. **کنترل حرکت بازیکنان**: هر بازیکن می‌تواند شخصیت خود را به اطراف حرکت داده و توپ را کنترل کند.
3. **توپ و دروازه‌ها**: بازیکنان باید توپ را به سمت دروازه رقیب هدایت کنند تا امتیاز بگیرند.
4. **طراحی ساده**: از اشکال ساده و تصاویر ابتدایی برای گرافیک بازی استفاده می‌شود.
 
### کد منبع نمونه
 
#### ۱. ایجاد فایل HTML
ابتدا یک فایل HTML به نام `index.html` ایجاد کنید و کد زیر را در آن قرار دهید:
 
```html
   
   
    بازی نبرد گل با جاوااسکریپت
   
   

بازی نبرد گل (Goal Battle)

   
   
```
 
#### ۲. ایجاد فایل CSS
یک فایل CSS به نام `style.css` ایجاد کنید و کد زیر را در آن قرار دهید:
 
```css
body {
    font-family: Arial, sans-serif;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
    margin: 0;
    background-color: #4caf50;
    color: white;
}
 
canvas {
    border: 2px solid #000;
    background-color: #2e7d32; /* زمین بازی */
}
```
 
#### ۳. ایجاد فایل JavaScript
یک فایل JavaScript به نام `script.js` ایجاد کنید و کد زیر را در آن قرار دهید:
 
```javascript
const canvas = document.getElementById('gameCanvas');
const ctx = canvas.getContext('2d');
 
// مشخصات بازیکن‌ها
const player1 = { x: 100, y: canvas.height / 2, width: 20, height: 20, color: 'red', dx: 0, dy: 0, speed: 4 };
const player2 = { x: 700, y: canvas.height / 2, width: 20, height: 20, color: 'blue', dx: 0, dy: 0, speed: 4 };
 
// مشخصات توپ
const ball = { x: canvas.width / 2, y: canvas.height / 2, radius: 10, dx: 3, dy: 3, color: 'white' };
 
// رسم بازیکن‌ها
function drawPlayer(player) {
    ctx.fillStyle = player.color;
    ctx.fillRect(player.x, player.y, player.width, player.height);
}
 
// رسم توپ
function drawBall() {
    ctx.beginPath();
    ctx.arc(ball.x, ball.y, ball.radius, 0, Math.PI * 2);
    ctx.fillStyle = ball.color;
    ctx.fill();
    ctx.closePath();
}
 
// به‌روزرسانی وضعیت بازیکن‌ها
function updatePlayers() {
    player1.x += player1.dx;
    player1.y += player1.dy;
    player2.x += player2.dx;
    player2.y += player2.dy;
 
    // جلوگیری از خارج شدن بازیکن‌ها از محدوده صفحه
    [player1, player2].forEach(player => {
        if (player.x < 0) player.x = 0;
        if (player.x + player.width > canvas.width) player.x = canvas.width - player.width;
        if (player.y < 0) player.y = 0;
        if (player.y + player.height > canvas.height) player.y = canvas.height - player.height;
    });
}
 
// به‌روزرسانی وضعیت توپ
function updateBall() {
    ball.x += ball.dx;
    ball.y += ball.dy;
 
    // برخورد با دیواره‌ها
    if (ball.y + ball.radius > canvas.height || ball.y - ball.radius < 0) {
        ball.dy = -ball.dy;
    }
 
    // برخورد با بازیکن‌ها
    [player1, player2].forEach(player => {
        if (
            ball.x < player.x + player.width &&
            ball.x + ball.radius > player.x &&
            ball.y < player.y + player.height &&
            ball.y + ball.radius > player.y
        ) {
            ball.dx = -ball.dx;
        }
    });
 
    // بررسی گل شدن توپ
    if (ball.x - ball.radius < 0) {
        alert('بازیکن 2 گل زد!');
        resetGame();
    } else if (ball.x + ball.radius > canvas.width) {
        alert('بازیکن 1 گل زد!');
        resetGame();
    }
}
 
// بازنشانی بازی پس از گل شدن
function resetGame() {
    ball.x = canvas.width / 2;
    ball.y = canvas.height / 2;
    ball.dx = 3 * (Math.random() > 0.5 ? 1 : -1);
    ball.dy = 3 * (Math.random() > 0.5 ? 1 : -1);
    player1.x = 100;
    player1.y = canvas.height / 2;
    player2.x = 700;
    player2.y = canvas.height / 2;
}
 
// حلقه اصلی بازی
function gameLoop() {
    ctx.clearRect(0, 0, canvas.width, canvas.height);
 
    drawPlayer(player1);
    drawPlayer(player2);
    drawBall();
 
    updatePlayers();
    updateBall();
 
    requestAnimationFrame(gameLoop);
}
 
// کنترل‌های صفحه‌کلید
document.addEventListener('keydown', (e) => {
    switch (e.key) {
        case 'ArrowUp':
            player2.dy = -player2.speed;
            break;
        case 'ArrowDown':
            player2.dy = player2.speed;
            break;
        case 'ArrowLeft':
            player2.dx = -player2.speed;
            break;
        case 'ArrowRight':
            player2.dx = player2.speed;
            break;
        case 'w':
            player1.dy = -player1.speed;
            break;
        case 's':
            player1.dy = player1.speed;
            break;
        case 'a':
            player1.dx = -player1.speed;
            break;
        case 'd':
            player1.dx = player1.speed;
            break;
    }
});
 
document.addEventListener('keyup', (e) => {
    switch (e.key) {
        case 'ArrowUp':
        case 'ArrowDown':
            player2.dy = 0;
            break;
        case 'ArrowLeft':
        case 'ArrowRight':
            player2.dx = 0;
            break;
        case 'w':
        case 's':
            player1.dy = 0;
            break;
        case 'a':
        case 'd':
            player1.dx = 0;
            break;
    }
});
 
// شروع بازی
gameLoop();
```
 
### نحوه اجرای پروژه:
1. فایل‌های `index.html`، `style.css` و `script.js` را در یک پوشه قرار دهید.
2. فایل `index.html` را در مرورگر خود باز کنید.
 
### نتیجه‌گیری
این پروژه یک بازی ساده نبرد گل دو نفره است که شامل حرکت بازیکنان، کنترل توپ و گل‌زنی می‌باشد. شما می‌توانید با اضافه کردن ویژگی‌های جدید مانند اضافه کردن موانع، بهبود گرافیک، یا اضافه کردن سطوح مختلف، بازی را گسترش دهید. همچنین می‌توانید قوانین بیشتری مانند زمان‌بندی یا امتیازگذاری را برای بازی اضافه کنید تا تجربه بازی جذاب‌تر شود.


| صفحه قابل مشاهده: دانلود پروژه بازی نبرد گل (Goal Battle) با استفاده از JavaScript می‌باشد