جزئیات محصول

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

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

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

خرید فایل


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

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

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

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



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

پازل اسلایدی

       
           
       
       
   
   
```
 
### 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;
}
 
.puzzle {
    display: grid;
    grid-template-columns: repeat(4, 100px);
    grid-template-rows: repeat(4, 100px);
    gap: 5px;
    margin: 20px auto;
}
 
.tile {
    background-color: #28a745;
    color: white;
    font-size: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 5px;
    cursor: pointer;
}
 
.tile.empty {
    background-color: transparent;
    border: 2px dashed #ccc;
}
```
 
### 3. **JavaScript**
سپس منطق بازی را با JavaScript پیاده‌سازی می‌کنیم.
 
```javascript
const puzzle = document.getElementById('puzzle');
const shuffleBtn = document.getElementById('shuffleBtn');
const size = 4; // اندازه پازل 4x4
let tiles = [];
 
// تابع برای ایجاد کاشی‌ها
function createTiles() {
    for (let i = 0; i < size * size; i++) {
        const tile = document.createElement('div');
        tile.classList.add('tile');
        tile.textContent = i === size * size - 1 ? '' : i + 1; // کاشی آخر خالی است
        tile.dataset.index = i;
        tile.addEventListener('click', () => moveTile(i));
        tiles.push(tile);
        puzzle.appendChild(tile);
    }
}
 
// تابع برای حرکت کاشی
function moveTile(index) {
    const emptyIndex = tiles.findIndex(tile => tile.textContent === '');
    const isAdjacent = checkAdjacent(index, emptyIndex);
 
    if (isAdjacent) {
        // جابجایی کاشی
        [tiles[index].textContent, tiles[emptyIndex].textContent] = [tiles[emptyIndex].textContent, tiles[index].textContent];
        renderTiles();
    }
}
 
// تابع برای بررسی همسایگی
function checkAdjacent(index1, index2) {
    const row1 = Math.floor(index1 / size);
    const col1 = index1 % size;
    const row2 = Math.floor(index2 / size);
    const col2 = index2 % size;
 
    return (Math.abs(row1 - row2) + Math.abs(col1 - col2) === 1);
}
 
// تابع برای نمایش کاشی‌ها
function renderTiles() {
    tiles.forEach(tile => {
        puzzle.appendChild(tile);
    });
}
 
// تابع برای مخلوط کردن کاشی‌ها
function shuffleTiles() {
    for (let i = tiles.length - 1; i > 0; i--) {
        const j = Math.floor(Math.random() * (i + 1));
        [tiles[i].textContent, tiles[j].textContent] = [tiles[j].textContent, tiles[i].textContent];
    }
    renderTiles();
}
 
// ایجاد کاشی‌ها و افزودن رویداد مخلوط کردن
createTiles();
shuffleBtn.addEventListener('click', () => {
    shuffleTiles();
    renderTiles();
});
```
 
### توضیحات کد:
1. **HTML**: شامل عنوان بازی، ناحیه برای نمایش کاشی‌ها و دکمه‌ای برای مخلوط کردن کاشی‌ها است.
2. **CSS**: طراحی زیبا و کاربرپسند برای پازل.
3. **JavaScript**:
   - **ایجاد کاشی‌ها**: تابعی برای ایجاد و نمایش کاشی‌ها در پازل.
   - **حرکت کاشی**: وقتی کاربر روی کاشی کلیک می‌کند، چک می‌شود که آیا کاشی در کنار کاشی خالی قرار دارد یا خیر و در صورت درست بودن، کاشی جابجا می‌شود.
   - **مخلوط کردن کاشی‌ها**: با فشردن دکمه، کاشی‌ها مخلوط می‌شوند.
 
### نتیجه‌گیری
این پروژه **پازل اسلایدی** یک مثال عالی برای یادگیری نحوه کار با JavaScript، DOM و رویدادها است. شما می‌توانید این پروژه را گسترش دهید و ویژگی‌های بیشتری مانند شمارش معکوس، تایمر یا حتی امکان تنظیم اندازه پازل اضافه کنید. از کدنویسی لذت ببرید!
| صفحه قابل مشاهده: دانلود پروژه **پازل اسلایدی** (Sliding Puzzle) با استفاده از HTML، CSS و JavaScript می‌باشد