جزئیات محصول

دانلود پروژه بازی آستروئیدز با استفاده از ReactJS و کد منبع

دانلود پروژه بازی آستروئیدز با استفاده از ReactJS و کد منبع

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

خرید فایل


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

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

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

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



### بازی آستروئیدز با استفاده از ReactJS و کد منبع
 
این پروژه شامل یک بازی آستروئیدز است که با استفاده از ReactJS ساخته شده است. در این بازی، کاربر یک سفینه فضایی را کنترل می‌کند و باید از برخورد با آستروئیدها جلوگیری کند.
 
#### ویژگی‌ها و عملکرد سیستم:
1. **کنترل سفینه فضایی**: با استفاده از کلیدهای صفحه‌کلید، سفینه را حرکت دهید و بچرخانید.
2. **آستروئیدهای متحرک**: آستروئیدها به طور تصادفی در صفحه ظاهر می‌شوند و به سمت کاربر حرکت می‌کنند.
3. **امتیازدهی**: هر بار که سفینه یک آستروئید را از بین ببرد، امتیاز کسب می‌کند.
4. **بازنشانی بازی**: امکان بازنشانی بازی بعد از اتمام آن.
 
#### ساختار پروژه
 
```
asteroids-game/
├── public/
│   ├── index.html      # فایل اصلی HTML
│   └── favicon.ico
├── src/
│   ├── components/
│   │   ├── Asteroid.js # کامپوننت آستروئید
│   │   └── Ship.js     # کامپوننت سفینه فضایی
│   ├── App.js          # فایل اصلی اپلیکیشن
│   ├── index.js        # نقطه ورود اپلیکیشن
│   └── App.css         # فایل CSS برای استایل‌دهی
├── package.json         # فایل پیکربندی پروژه
└── README.md            # فایل راهنما
```
 
#### مراحل پیاده‌سازی
 
##### 1. فایل `index.html` (در `public`)
 
```html
   
   
    بازی آستروئیدز
   
```
 
##### 2. فایل `Ship.js` (در `src/components`)
 
```javascript
// src/components/Ship.js
import React from 'react';
 
const Ship = ({ position }) => {
    const style = {
        position: 'absolute',
        left: position.x,
        top: position.y,
        width: '50px',
        height: '50px',
        backgroundColor: 'blue',
        transform: 'rotate(90deg)', // سفینه به سمت بالا باشد
    };
 
    return
;
};
 
export default Ship;
```
 
##### 3. فایل `Asteroid.js` (در `src/components`)
 
```javascript
// src/components/Asteroid.js
import React from 'react';
 
const Asteroid = ({ position }) => {
    const style = {
        position: 'absolute',
        left: position.x,
        top: position.y,
        width: '30px',
        height: '30px',
        backgroundColor: 'gray',
        borderRadius: '50%',
    };
 
    return
;
};
 
export default Asteroid;
```
 
##### 4. فایل `App.js` (در `src`)
 
```javascript
// src/App.js
import React, { useState, useEffect } from 'react';
import Ship from './components/Ship';
import Asteroid from './components/Asteroid';
import './App.css';
 
const App = () => {
    const [shipPosition, setShipPosition] = useState({ x: 250, y: 250 });
    const [asteroids, setAsteroids] = useState([]);
    const [score, setScore] = useState(0);
    const [isGameOver, setIsGameOver] = useState(false);
 
    useEffect(() => {
        const handleKeyDown = (event) => {
            if (isGameOver) return;
            switch (event.key) {
                case 'ArrowUp':
                    setShipPosition((pos) => ({ ...pos, y: pos.y - 10 }));
                    break;
                case 'ArrowDown':
                    setShipPosition((pos) => ({ ...pos, y: pos.y + 10 }));
                    break;
                case 'ArrowLeft':
                    setShipPosition((pos) => ({ ...pos, x: pos.x - 10 }));
                    break;
                case 'ArrowRight':
                    setShipPosition((pos) => ({ ...pos, x: pos.x + 10 }));
                    break;
                default:
                    break;
            }
        };
 
        const spawnAsteroid = () => {
            const newAsteroid = {
                x: Math.random() * window.innerWidth,
                y: 0,
            };
            setAsteroids((prev) => [...prev, newAsteroid]);
        };
 
        const gameLoop = setInterval(() => {
            spawnAsteroid();
            setAsteroids((prev) =>
                prev.map((asteroid) => ({
                    ...asteroid,
                    y: asteroid.y + 5,
                })).filter((asteroid) => asteroid.y < window.innerHeight)
            );
 
            // بررسی برخورد با آستروئیدها
            prevAsteroids.forEach((asteroid) => {
                if (
                    asteroid.x < shipPosition.x + 50 &&
                    asteroid.x + 30 > shipPosition.x &&
                    asteroid.y < shipPosition.y + 50 &&
                    asteroid.y + 30 > shipPosition.y
                ) {
                    setIsGameOver(true);
                }
            });
 
            setScore((prev) => prev + 1);
        }, 1000);
 
        document.addEventListener('keydown', handleKeyDown);
 
        return () => {
            clearInterval(gameLoop);
            document.removeEventListener('keydown', handleKeyDown);
        };
    }, [shipPosition, isGameOver]);
 
    const handleReset = () => {
        setShipPosition({ x: 250, y: 250 });
        setAsteroids([]);
        setScore(0);
        setIsGameOver(false);
    };
 
    return (
       
           

بازی آستروئیدز

           

امتیاز: {score}

           
               
                {asteroids.map((asteroid, index) => (
                   
                ))}
           
            {isGameOver && (
               
                   

بازی تمام شد!

                   
               
            )}
       
    );
};
 
export default App;
```
 
##### 5. فایل `App.css` (در `src`)
 
```css
/* src/App.css */
body {
    font-family: Arial, sans-serif;
    background-color: #f0f0f0;
    margin: 0;
    padding: 20px;
}
 
.game-container {
    text-align: center;
}
 
.game-area {
    position: relative;
    width: 500px;
    height: 500px;
    border: 1px solid #333;
    overflow: hidden;
    margin: 0 auto;
    background-color: black;
}
 
.game-over {
    margin-top: 20px;
    color: red;
}
```
 
##### 6. فایل `index.js` (در `src`)
 
```javascript
// src/index.js
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
 
ReactDOM.render(, document.getElementById('root'));
```
 
### نحوه راه‌اندازی پروژه
 
1. **نصب Node.js**: اطمینان حاصل کنید که Node.js روی سیستم شما نصب شده است.
2. **ایجاد پروژه**: در ترمینال، با استفاده از فرمان زیر یک پروژه جدید ایجاد کنید:
   ```bash
   npx create-react-app asteroids-game
   ```
3. **وارد شدن به پوشه پروژه**:
   ```bash
   cd asteroids-game
   ```
4. **جایگزینی فایل‌ها**: فایل‌های `App.js`, `Ship.js`, `Asteroid.js`, `App.css`, و `index.js` را با کد‌های بالا جایگزین کنید.
5. **اجرای پروژه**: با استفاده از فرمان زیر، پروژه را اجرا کنید:
   ```bash
   npm start
   ```
 
### نتیجه‌گیری
 
این بازی آستروئیدز به کاربران این امکان را می‌دهد که سفینه فضایی را کنترل کنند و از برخورد با آستروئیدها جلوگیری کنند. با استفاده از این پروژه، شما می‌توانید با مفاهیم اساسی ReactJS، JSX و CSS آشنا شوید. می‌توانید این پروژه را گسترش دهید و ویژگی‌های جدیدی مانند افزودن سلاح، آستروئیدهای مختلف و یا حالت‌های مختلف بازی را اضافه کنید.
| صفحه قابل مشاهده: دانلود پروژه بازی آستروئیدز با استفاده از ReactJS و کد منبع می‌باشد