کاربران گرامی در این پروژه به شما پروژه بازی با جاوا اسکریپت را قرارداده ایم شما عزیزان می توانید از بخش دانلود پروژه بازی با جاوااسکریپت سایر بازی هایی که با جاوا اسکریپت طراحی شده اند را مشاهده و دانلود کنید.
در صورتی که نیاز به آموزش حضوری و یا غیر حضوری این پروژه داشتید میتوانید با ما در ارتباط باشید تا این پروژه را به شما آموزش دهیم حتی میتوانید در صورت دلخواه پروژه را به خواسته شما شخصی سازی کنیم لازم به ذکر است که تیم پروژه در صفحه دانلود پروژه بازی بازی های مختلفی را به زبان های مختلف برنامه نویسی قرار داده است .شماره تماس با پرپروژه 09050394455 می باشد
### پروژه: بازی کلاسیک مار در JavaScript با کد منبع
بازی **مار کلاسیک (Old Snake Game)** یک پروژه ساده است که با استفاده از **JavaScript**، **HTML** و **CSS** ساخته شده است. این بازی مشابه بازی مار معروف است که در گوشیهای قدیمی نوکیا بازی میکردیم. در این پروژه، بازیکن باید مار را هدایت کند تا میوهها را بخورد و امتیاز بگیرد. با خوردن هر میوه، طول مار افزایش مییابد و بازی چالشبرانگیزتر میشود.
### ویژگیهای بازی:
1. **کنترل ساده**: شما میتوانید مار را با استفاده از دکمههای جهت (`ArrowUp`، `ArrowDown`، `ArrowLeft`، `ArrowRight`) کنترل کنید.
2. **گرافیک کلاسیک**: از HTML5 برای ایجاد صفحه بازی و از CSS برای سبکدهی و زیباتر کردن بازی استفاده شده است.
3. **چالش امتیازگیری**: هر بار که مار میوه میخورد، طول آن افزایش یافته و سرعت بازی بیشتر میشود.
4. **پایان بازی**: اگر مار به دیوارهها یا به بدن خودش برخورد کند، بازی تمام میشود.
### نحوه اجرای پروژه:
1. **دانلود پروژه**: ابتدا فایلهای پروژه را از لینک مورد نظر دانلود کنید.
2. **اجرای بازی**: فایل `index.html` را با مرورگر باز کنید. توصیه میشود از مرورگرهای مدرن مانند **Google Chrome** یا **Mozilla Firefox** برای بهترین تجربه استفاده کنید.
### کد منبع:
#### کد HTML (index.html)
```html
بازی مار کلاسیک
```
#### کد CSS (style.css)
```css
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
background-color: #333;
}
canvas {
border: 2px solid #fff;
background-color: #000;
}
```
#### کد JavaScript (script.js)
```javascript
const canvas = document.getElementById('snakeGame');
const ctx = canvas.getContext('2d');
// اندازه سلولهای شبکه
const box = 20;
let snake = [];
snake[0] = { x: 9 * box, y: 10 * box }; // نقطه شروع مار
let direction;
let food = {
x: Math.floor(Math.random() * 19 + 1) * box,
y: Math.floor(Math.random() * 19 + 1) * box
};
// گوش دادن به کلیدهای فشردهشده
document.addEventListener('keydown', setDirection);
function setDirection(event) {
if (event.key === 'ArrowUp' && direction !== 'DOWN') {
direction = 'UP';
} else if (event.key === 'ArrowDown' && direction !== 'UP') {
direction = 'DOWN';
} else if (event.key === 'ArrowLeft' && direction !== 'RIGHT') {
direction = 'LEFT';
} else if (event.key === 'ArrowRight' && direction !== 'LEFT') {
direction = 'RIGHT';
}
}
// رسم مار
function drawSnake() {
for (let i = 0; i < snake.length; i++) {
ctx.fillStyle = (i === 0) ? 'green' : 'white';
ctx.fillRect(snake[i].x, snake[i].y, box, box);
ctx.strokeStyle = 'red';
ctx.strokeRect(snake[i].x, snake[i].y, box, box);
}
}
// رسم غذا
function drawFood() {
ctx.fillStyle = 'red';
ctx.fillRect(food.x, food.y, box, box);
}
// بهروزرسانی فریم بازی
function update() {
let snakeX = snake[0].x;
let snakeY = snake[0].y;
// جهت حرکت مار
if (direction === 'UP') snakeY -= box;
if (direction === 'DOWN') snakeY += box;
if (direction === 'LEFT') snakeX -= box;
if (direction === 'RIGHT') snakeX += box;
// اگر مار غذا را بخورد
if (snakeX === food.x && snakeY === food.y) {
food = {
x: Math.floor(Math.random() * 19 + 1) * box,
y: Math.floor(Math.random() * 19 + 1) * box
};
} else {
snake.pop(); // حذف دنباله مار
}
// اضافه کردن سر جدید به مار
let newHead = { x: snakeX, y: snakeY };
// پایان بازی در صورت برخورد با دیوارهها یا بدن خود
if (snakeX < 0 || snakeX >= canvas.width || snakeY < 0 || snakeY >= canvas.height || collision(newHead, snake)) {
clearInterval(game);
}
snake.unshift(newHead);
}
// بررسی برخورد مار با خودش
function collision(head, body) {
for (let i = 0; i < body.length; i++) {
if (head.x === body[i].x && head.y === body[i].y) {
return true;
}
}
return false;
}
// رسم کل بازی
function draw() {
ctx.clearRect(0, 0, canvas.width, canvas.height);
drawSnake();
drawFood();
}
// حلقه اصلی بازی
let game = setInterval(function() {
update();
draw();
}, 100);
```
### توضیحات اضافی:
- **کنترلهای بازی**: بازیکن میتواند مار را با استفاده از دکمههای `ArrowUp`، `ArrowDown`، `ArrowLeft`، و `ArrowRight` حرکت دهد.
- **افزایش چالش بازی**: هر بار که مار غذا میخورد، طول آن افزایش مییابد و بازی چالشبرانگیزتر میشود.
- **پایان بازی**: برخورد مار با دیوارهها یا با بدن خودش منجر به پایان بازی خواهد شد.
### نتیجهگیری:
بازی **مار کلاسیک** یک پروژه ساده و در عین حال جذاب است که با استفاده از **JavaScript**، **HTML** و **CSS** ساخته شده است. این پروژه میتواند به شما در یادگیری اصول برنامهنویسی بازی و بهبود مهارتهای جاوااسکریپت کمک کند. شما میتوانید با افزودن ویژگیهای جدید مانند سطوح سختی مختلف یا جلوههای گرافیکی، این بازی را ارتقا دهید و آن را جذابتر کنید.
| صفحه قابل مشاهده:
دانلود پروژه بازی کلاسیک مار در JavaScript با کد منبع میباشد