کاربران گرامی در این پروژه به شما پروژه بازی با جاوا اسکریپت را قرارداده ایم شما عزیزان می توانید از بخش دانلود پروژه بازی با جاوااسکریپت سایر بازی هایی که با جاوا اسکریپت طراحی شده اند را مشاهده و دانلود کنید.
در صورتی که نیاز به آموزش حضوری و یا غیر حضوری این پروژه داشتید میتوانید با ما در ارتباط باشید تا این پروژه را به شما آموزش دهیم حتی میتوانید در صورت دلخواه پروژه را به خواسته شما شخصی سازی کنیم لازم به ذکر است که تیم پروژه در صفحه دانلود پروژه بازی بازی های مختلفی را به زبان های مختلف برنامه نویسی قرار داده است .شماره تماس با پرپروژه 09050394455 می باشد
### پروژه "بازی Knife Hit" با استفاده از Node.js
بازی Knife Hit یک بازی سرگرمکننده است که در آن بازیکن باید چاقوها را به سمت هدف پرتاب کند. این بازی با استفاده از Node.js، Express.js و HTML/CSS/JavaScript ساخته شده است و میتواند به صورت یک بازی تحت وب اجرا شود.
#### ویژگیهای پروژه:
- **گرافیک ساده:** استفاده از گرافیک ساده برای نمایش هدف و چاقوها.
- **امتیازدهی:** کاربران میتوانند امتیاز جمعآوری کنند.
- **ساده و کاربرپسند:** طراحی ساده و کاربرپسند.
### راهاندازی پروژه
#### 1. نصب Node.js و Express
ابتدا یک پوشه جدید برای پروژه خود ایجاد کرده و پکیجهای مورد نیاز را نصب کنید:
```bash
mkdir knife-hit-game
cd knife-hit-game
npm init -y
npm install express
```
#### 2. ساختار فایلها
ساختار پروژه به صورت زیر است:
```
knife-hit-game/
├── package.json
├── server.js
└── public/
├── index.html
├── styles.css
└── game.js
```
#### 3. کد منبع
##### فایل `package.json`
این فایل مشخصات پروژه را شامل میشود.
```json
{
"name": "knife-hit-game",
"version": "1.0.0",
"main": "server.js",
"scripts": {
"start": "node server.js"
},
"dependencies": {
"express": "^4.18.1"
}
}
```
##### فایل `server.js`
این فایل سرور Node.js را راهاندازی میکند و از Express.js برای مدیریت درخواستها استفاده میکند:
```javascript
const express = require('express');
const path = require('path');
// راهاندازی سرور
const app = express();
const PORT = process.env.PORT || 3000;
// تنظیمات مسیر برای فایلهای استاتیک
app.use(express.static(path.join(__dirname, 'public')));
// راهاندازی سرور
app.listen(PORT, () => {
console.log(`سرور در حال اجرا بر روی http://localhost:${PORT}`);
});
```
##### فایل `public/index.html`
این فایل رابط کاربری بازی را ایجاد میکند:
```html
Knife Hit Game
```
##### فایل `public/styles.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;
background: white;
border-radius: 10px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
padding: 20px;
}
canvas {
border: 1px solid #ccc;
}
.score {
font-size: 24px;
margin-top: 10px;
}
button {
padding: 10px 20px;
margin-top: 20px;
border: none;
border-radius: 5px;
background-color: #5cb85c;
color: white;
cursor: pointer;
}
button:hover {
background-color: #4cae4c;
}
```
##### فایل `public/game.js`
این فایل منطق بازی را پیادهسازی میکند:
```javascript
const canvas = document.getElementById('gameCanvas');
const ctx = canvas.getContext('2d');
const scoreElement = document.getElementById('score');
const restartButton = document.getElementById('restartButton');
let score = 0;
let knifeAngle = 0;
let isGameOver = false;
function drawTarget() {
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.save();
ctx.translate(canvas.width / 2, canvas.height / 2);
ctx.rotate(knifeAngle * Math.PI / 180);
ctx.fillStyle = '#ffcc00';
ctx.fillRect(-30, -10, 60, 20); // هدف
ctx.restore();
}
function drawKnife(x, y) {
ctx.fillStyle = '#ff5733';
ctx.fillRect(x - 5, y - 10, 10, 20); // چاقو
}
function throwKnife() {
if (isGameOver) return;
knifeAngle += 45; // چاقو را 45 درجه بچرخانید
drawTarget();
drawKnife(canvas.width / 2, canvas.height / 2 - 100);
// چک کردن برخورد چاقو با هدف
if (knifeAngle >= 360) {
score++;
scoreElement.innerText = score;
knifeAngle = 0; // زاویه را ریست کنید
}
// اگر امتیاز به عدد مشخصی رسید
if (score >= 10) {
alert("شما برنده شدید!");
isGameOver = true;
}
}
function restartGame() {
score = 0;
knifeAngle = 0;
isGameOver = false;
scoreElement.innerText = score;
drawTarget();
}
restartButton.addEventListener('click', restartGame);
setInterval(throwKnife, 1000); // پرتاب چاقو هر 1 ثانیه
drawTarget();
```
### 4. اجرای پروژه
برای اجرای سرور، از دستور زیر در ترمینال استفاده کنید:
```bash
node server.js
```
سپس مرورگر خود را باز کرده و به آدرس `http://localhost:3000` بروید تا بازی را مشاهده کنید.
### نتیجهگیری
این پروژه "بازی Knife Hit" به شما این امکان را میدهد که با اصول ساخت یک بازی تحت وب با استفاده از Node.js و HTML/CSS/JavaScript آشنا شوید. شما میتوانید این پروژه را گسترش دهید و ویژگیهای بیشتری مانند سطوح مختلف، افزایش دشواری، یا حالت چندنفره اضافه کنید. این پروژه یک نقطه شروع عالی برای یادگیری توسعه بازیهای تحت وب است.
| صفحه قابل مشاهده:
دانلود پروژه بازی Knife Hit" با استفاده از Node.js میباشد