کاربران گرامی در این پروژه به شما پروژه بازی با جاوا اسکریپت را قرارداده ایم شما عزیزان می توانید از بخش دانلود پروژه بازی با جاوااسکریپت سایر بازی هایی که با جاوا اسکریپت طراحی شده اند را مشاهده و دانلود کنید.
در صورتی که نیاز به آموزش حضوری و یا غیر حضوری این پروژه داشتید میتوانید با ما در ارتباط باشید تا این پروژه را به شما آموزش دهیم حتی میتوانید در صورت دلخواه پروژه را به خواسته شما شخصی سازی کنیم لازم به ذکر است که تیم پروژه در صفحه دانلود پروژه بازی بازی های مختلفی را به زبان های مختلف برنامه نویسی قرار داده است .شماره تماس با پرپروژه 09050394455 می باشد
در اینجا یک پروژه ساده برای ایجاد یک بازی تنیس روی میز (Table Tennis) با استفاده از HTML، CSS، و JavaScript ارائه شده است. این بازی به صورت دو بعدی طراحی شده و با استفاده از کنترلهای صفحهکلید میتوانید توپ را به سمت بالا و پایین حرکت دهید.
### 1. **HTML**
ابتدا کد HTML را برای ایجاد صفحه بازی و بوم (canvas) که در آن بازی نمایش داده میشود، ایجاد میکنیم.
```html
بازی تنیس روی میز
```
### 2. **CSS**
سپس برای زیباسازی صفحه، از کد CSS زیر استفاده میکنیم.
```css
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
background-color: #000;
}
canvas {
background-color: #fff;
border: 3px solid #000;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}
```
### 3. **JavaScript**
اکنون کد JavaScript را برای پیادهسازی منطق بازی، کنترل توپ و بازیکنان پیادهسازی میکنیم.
```javascript
const canvas = document.getElementById('gameCanvas');
const ctx = canvas.getContext('2d');
// اندازه و مکان اولیه بازیکنان و توپ
const paddleWidth = 10, paddleHeight = 100;
let player1Y = canvas.height / 2 - paddleHeight / 2;
let player2Y = canvas.height / 2 - paddleHeight / 2;
let player1Score = 0, player2Score = 0;
let ballX = canvas.width / 2;
let ballY = canvas.height / 2;
let ballSpeedX = 5, ballSpeedY = 5;
// رسم اجزای بازی
function draw() {
// پاک کردن صفحه
ctx.clearRect(0, 0, canvas.width, canvas.height);
// رسم مستطیل بازی (زمین)
ctx.fillStyle = '#000';
ctx.fillRect(0, 0, canvas.width, canvas.height);
// رسم بازیکن 1 (پدال چپ)
ctx.fillStyle = '#fff';
ctx.fillRect(0, player1Y, paddleWidth, paddleHeight);
// رسم بازیکن 2 (پدال راست)
ctx.fillStyle = '#fff';
ctx.fillRect(canvas.width - paddleWidth, player2Y, paddleWidth, paddleHeight);
// رسم توپ
ctx.beginPath();
ctx.arc(ballX, ballY, 10, 0, Math.PI * 2);
ctx.fillStyle = '#ff0000';
ctx.fill();
ctx.closePath();
// نمایش امتیازها
ctx.fillStyle = '#fff';
ctx.font = '20px Arial';
ctx.fillText(`بازیکن 1: ${player1Score}`, 50, 20);
ctx.fillText(`بازیکن 2: ${player2Score}`, canvas.width - 150, 20);
}
// به روز رسانی موقعیت توپ
function update() {
ballX += ballSpeedX;
ballY += ballSpeedY;
// برخورد توپ با دیوارهای بالا و پایین
if (ballY <= 0 || ballY >= canvas.height) {
ballSpeedY = -ballSpeedY;
}
// برخورد توپ با پدال چپ (بازیکن 1)
if (ballX <= paddleWidth && ballY > player1Y && ballY < player1Y + paddleHeight) {
ballSpeedX = -ballSpeedX;
}
// برخورد توپ با پدال راست (بازیکن 2)
if (ballX >= canvas.width - paddleWidth && ballY > player2Y && ballY < player2Y + paddleHeight) {
ballSpeedX = -ballSpeedX;
}
// بررسی برخورد با دیواره چپ (امتیاز بازیکن 2)
if (ballX <= 0) {
player2Score++;
resetBall();
}
// بررسی برخورد با دیواره راست (امتیاز بازیکن 1)
if (ballX >= canvas.width) {
player1Score++;
resetBall();
}
}
// تنظیم مجدد توپ به موقعیت مرکزی
function resetBall() {
ballX = canvas.width / 2;
ballY = canvas.height / 2;
ballSpeedX = -ballSpeedX;
}
// کنترل حرکت بازیکنان
window.addEventListener('keydown', (event) => {
const key = event.key;
const paddleSpeed = 20;
if (key === 'ArrowUp') {
player2Y = Math.max(player2Y - paddleSpeed, 0);
} else if (key === 'ArrowDown') {
player2Y = Math.min(player2Y + paddleSpeed, canvas.height - paddleHeight);
} else if (key === 'w') {
player1Y = Math.max(player1Y - paddleSpeed, 0);
} else if (key === 's') {
player1Y = Math.min(player1Y + paddleSpeed, canvas.height - paddleHeight);
}
});
// حلقه اصلی بازی
function gameLoop() {
update();
draw();
requestAnimationFrame(gameLoop);
}
gameLoop();
```
### توضیح
1. **HTML**: یک بوم (canvas) برای نمایش بازی استفاده میشود که با استفاده از JavaScript محتوا در آن رسم میشود.
2. **CSS**: برای زیباسازی صفحه، پسزمینه سیاه و مرز سفید برای بوم استفاده شده است.
3. **JavaScript**: شامل تمام منطق بازی است:
- توپ حرکت میکند و به دیوارهها و بازیکنان برخورد میکند.
- با استفاده از کلیدهای جهتدار (`ArrowUp` و `ArrowDown`) برای بازیکن 2 و کلیدهای `w` و `s` برای بازیکن 1 میتوانید پدالها را حرکت دهید.
- امتیازدهی برای زمانی که توپ از دیواره عبور کند محاسبه میشود.
این پروژه را میتوانید با اضافه کردن قابلیتهایی مانند افزایش سرعت توپ، تنظیم تعداد امتیازهای مورد نیاز برای برد، یا حتی افزودن صداهای برخورد بهبود دهید. از بازی کردن و کدنویسی لذت ببرید!
| صفحه قابل مشاهده:
دانلود پروژه بازی تنیس روی میز (Table Tennis) با استفاده از HTML، CSS، و JavaScript میباشد