JavaScript
- DOM Manipulation
- Event Handling
- Web Animation API
با گذر زمان و رشد پمبه در شرکت، مدیر پمبه میخواهد به او ترفیع بدهد؛ بنابراین از این بهبعد، اکثر کارهایی که از پمبه خواسته میشود، به طور مستقیم مربوط به بازیسازی است. بهعنوان اولین کاری که پمبه باید انجام دهد، از او خواسته شده است تا قسمتی از یک بازی تیراندازی را پیادهسازی نماید.
توضیحات سوال
تصویر خروجی نمونه

میتوانید برای بررسی دقیقتر نتیجۀ نهایی، این فیلم را مشاهده کنید.
پروژه اولیه
پروژه اولیه را از این لینک دانلود کنید.
ساختار فایلها
initial-project-07.zip
├── illustrations
│ ├── bullet.svg
│ ├── crosshair.svg
│ └── pistol.svg
├── dynamic.js
├── index.html
└── static.css
راهاندازی پروژه
- ابتدا پروژۀ اولیه را دانلود و از حالت فشرده خارج کنید.
- سپس فایل
index.htmlرا در مرورگر خود باز کنید.
خواستههای مسئله
- با جابهجایی ماوس،
crosshairباید با استفاده از متغیرهایی که داخلstatic.cssوجود دارند، جابهجا شود - همواره زاویۀ
pistolباید به گونهای باشد که مگسک آن به وسطcrosshairاشاره کند - چرخش
pistolباید نسبت به وسط آن صورت بگیرد - در صورتی که فاصلۀ ماوس از وسط صفحه کمتر از
240pxباشد، باید بهpistolکلاسdisabledداده شود و کاربر نباید بتواند شلیک کند - در صورتی که کاربر بر روی صفحه کلیک کند، باید یک
imgبا کلاسbulletوsrcمساوی با عبارت زیر بهbodyاضافه شود
./illustrations/bullet.svg
- در لحظۀ ساخت گلوله، موقعیت گوشۀ بالا-چپ آن باید با توجه به
spawn-pointدر نظر گرفته شود - گلوله باید با توجه به موقعیت ماوس، مسیر
1000pxرا در یک ثانیه طی نماید و پس از آن از صفحه حذف شود
نکات
- شما تنها مجاز به تغییر در فایل
dynamic.jsهستید. تغییرات در باقی فایلها نادیده گرفته میشود. - توجه کنید که داوری خودکار بر مبنای ساختار فایل
index.htmlانجام میشود. - برای ثبت پاسخ، پروژه را با ساختار زیر ارسال کنید.
[your-zip-file-name].zip
└── dynamic.js
ارسال پاسخ برای این سؤال