جزئیات محصول

دانلود پروژه بازی تترس با هوش مصنوعی در جاوا اسکریپت با کد منبع

دانلود پروژه بازی تترس با هوش مصنوعی در جاوا اسکریپت با کد منبع

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

خرید فایل


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

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

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

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



 ### بازی تترس با هوش مصنوعی در جاوا اسکریپت با کد منبع
 
این پروژه شامل یک بازی تترس است که با استفاده از جاوا اسکریپت، HTML و CSS پیاده‌سازی شده است. در این پروژه، همچنین یک هوش مصنوعی (AI) برای انجام حرکات بازی تترس اضافه شده است.
 
#### ویژگی‌ها و عملکرد سیستم:
1. **بازی تترس**: پیاده‌سازی اصلی بازی تترس با بلوک‌های مختلف.
2. **هوش مصنوعی**: AI برای انجام حرکات در بازی و انطباق با وضعیت بازی.
3. **کنترل‌های کاربر**: امکان کنترل بازی با استفاده از کلیدهای صفحه‌کلید.
 
#### ساختار پروژه
 
```
tetris-ai/
├── index.html         # فایل اصلی HTML
├── style.css          # فایل CSS برای استایل‌دهی
└── script.js          # فایل جاوا اسکریپت برای عملکرد بازی
```
 
#### مراحل پیاده‌سازی
 
##### 1. فایل `index.html`
 
```html
   
   
    بازی تترس با هوش مصنوعی
   
   
       

بازی تترس با هوش مصنوعی

       
       
           
           
       
       
امتیاز: 0
   
   
```
 
##### 2. فایل `style.css`
 
```css
/* style.css */
body {
    font-family: Arial, sans-serif;
    background-color: #f0f0f0;
    margin: 0;
    padding: 20px;
}
 
.container {
    max-width: 300px;
    margin: auto;
    background: white;
    padding: 20px;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    text-align: center;
}
 
canvas {
    border: 1px solid #333;
    background-color: #eee;
}
 
.controls {
    margin: 10px 0;
}
 
button {
    padding: 10px 15px;
    margin: 5px;
    cursor: pointer;
    background-color: #28a745;
    color: white;
    border: none;
}
 
button:hover {
    background-color: #218838;
}
 
#score {
    font-size: 20px;
    margin-top: 10px;
}
```
 
##### 3. فایل `script.js`
 
```javascript
// script.js
const canvas = document.getElementById('tetris');
const context = canvas.getContext('2d');
context.scale(20, 20); // افزایش مقیاس برای راحتی
let score = 0;
let isAIEnabled = false;
let gameInterval;
 
// اشکال تترس
const shapes = [
    [[1, 1, 1], [0, 1, 0]], // T
    [[1, 1, 1, 1]],         // I
    [[1, 1], [1, 1]],       // O
    [[1, 1, 0], [0, 1, 1]], // S
    [[0, 1, 1], [1, 1, 0]], // Z
    [[1, 0, 0], [1, 1, 1]], // L
    [[0, 0, 1], [1, 1, 1]]  // J
];
 
let board = Array.from({ length: 20 }, () => Array(10).fill(0));
let currentPiece;
let currentPosition;
 
// شروع بازی
function startGame() {
    board = Array.from({ length: 20 }, () => Array(10).fill(0));
    score = 0;
    document.getElementById('score').innerText = `امتیاز: ${score}`;
    newPiece();
    if (gameInterval) clearInterval(gameInterval);
    gameInterval = setInterval(() => {
        movePiece(1, 0);
        draw();
    }, 1000);
}
 
// ایجاد یک قطعه جدید
function newPiece() {
    const randomIndex = Math.floor(Math.random() * shapes.length);
    currentPiece = shapes[randomIndex];
    currentPosition = { x: 3, y: 0 };
    if (collides()) {
        alert('بازی تمام شد!');
        clearInterval(gameInterval);
    }
}
 
// چک کردن برخورد
function collides(offsetX = 0, offsetY = 0) {
    for (let y = 0; y < currentPiece.length; y++) {
        for (let x = 0; x < currentPiece[y].length; x++) {
            if (currentPiece[y][x] && (board[y + currentPosition.y + offsetY] && board[y + currentPosition.y + offsetY][x + currentPosition.x + offsetX]) !== 0) {
                return true;
            }
        }
    }
    return false;
}
 
// حرکت قطعه
function movePiece(dirX, dirY) {
    if (!collides(dirX, dirY)) {
        currentPosition.x += dirX;
        currentPosition.y += dirY;
    } else if (dirY !== 0) {
        placePiece();
        clearLines();
        newPiece();
    }
}
 
// قرار دادن قطعه
function placePiece() {
    for (let y = 0; y < currentPiece.length; y++) {
        for (let x = 0; x < currentPiece[y].length; x++) {
            if (currentPiece[y][x]) {
                board[y + currentPosition.y][x + currentPosition.x] = 1;
            }
        }
    }
}
 
// پاک کردن خطوط
function clearLines() {
    for (let y = board.length - 1; y >= 0; y--) {
        if (board[y].every(value => value !== 0)) {
            board.splice(y, 1);
            board.unshift(Array(10).fill(0));
            score += 10;
            document.getElementById('score').innerText = `امتیاز: ${score}`;
            y++;
        }
    }
}
 
// رسم بازی
function draw() {
    context.clearRect(0, 0, canvas.width, canvas.height);
    drawBoard();
    drawPiece();
}
 
// رسم بورد
function drawBoard() {
    for (let y = 0; y < board.length; y++) {
        for (let x = 0; x < board[y].length; x++) {
            if (board[y][x]) {
                context.fillStyle = 'blue';
                context.fillRect(x, y, 1, 1);
            }
        }
    }
}
 
// رسم قطعه
function drawPiece() {
    for (let y = 0; y < currentPiece.length; y++) {
        for (let x = 0; x < currentPiece[y].length; x++) {
            if (currentPiece[y][x]) {
                context.fillStyle = 'red';
                context.fillRect(currentPosition.x + x, currentPosition.y + y, 1, 1);
            }
        }
    }
}
 
// کنترل‌ها
document.addEventListener('keydown', (event) => {
    if (event.key === 'ArrowLeft') movePiece(-1, 0);
    if (event.key === 'ArrowRight') movePiece(1, 0);
    if (event.key === 'ArrowDown') movePiece(0, 1);
    if (event.key === 'ArrowUp') rotatePiece();
});
 
// چرخش قطعه
function rotatePiece() {
    const rotatedPiece = currentPiece[0].map((_, index) => currentPiece.map(row => row[index])).reverse();
    const originalPiece = currentPiece;
    currentPiece = rotatedPiece;
 
    if (collides()) {
        currentPiece = originalPiece; // بازگشت به قطعه اصلی در صورت برخورد
    }
}
 
// فعال‌سازی AI
document.getElementById('aiButton').addEventListener('click', () => {
    isAIEnabled = !isAIEnabled;
    if (isAIEnabled) {
        document.getElementById('aiButton').innerText = 'غیرفعال کردن AI';
        startAI();
    } else {
        document.getElementById('aiButton').innerText = 'اجازه AI';
        clearInterval(gameInterval);
        startGame();
    }
});
 
// AI برای بازی
function startAI() {
    gameInterval = setInterval(() => {
        const bestMove = getBestMove();
        if (bestMove) {
            currentPosition.x += bestMove.x;
            currentPosition.y += bestMove.y;
        }
        movePiece(1, 0);
        draw();
    }, 1000);
}
 
// بهترین حرکت AI
function getBestMove() {
    // اینجا الگوریتم هوش مصنوعی را برای بهترین حرکت پیاده‌سازی کنید.
    return { x: 0, y: 
 
0 }; // این فقط یک مثال است.
}
 
// شروع بازی اولیه
startGame();
```
 
### نتیجه‌گیری
 
این بازی تترس با هوش مصنوعی به کاربران این امکان را می‌دهد که بازی را تجربه کنند و همچنین الگوریتم هوش مصنوعی برای انجام حرکات در بازی را مشاهده کنند. با استفاده از این پروژه، می‌توانید با مفاهیم اساسی جاوا اسکریپت، HTML و CSS آشنا شوید و همچنین با الگوریتم‌های هوش مصنوعی اولیه کار کنید. می‌توانید این پروژه را گسترش دهید و ویژگی‌های جدیدی مانند بهبود AI، افزودن سطوح مختلف یا طراحی گرافیکی بهتر به آن اضافه کنید.
| صفحه قابل مشاهده: دانلود پروژه بازی تترس با هوش مصنوعی در جاوا اسکریپت با کد منبع می‌باشد