You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
4.9 KiB
55 lines
4.9 KiB
# کاوش در برخوردها
|
|
|
|
## دستورالعملها
|
|
|
|
با بهکارگیری دانش تشخیص برخورد، یک مینیگیم سفارشی ایجاد کنید که انواع مختلف تعاملات اشیاء را نشان دهد. این تمرین به شما کمک میکند مکانیکهای برخورد را از طریق پیادهسازی خلاقانه و آزمایش درک کنید.
|
|
|
|
### الزامات پروژه
|
|
|
|
**یک بازی تعاملی کوچک ایجاد کنید که شامل:**
|
|
- **چندین جسم متحرک** که میتوانند با ورودی کیبورد یا ماوس کنترل شوند
|
|
- **سیستم تشخیص برخورد** با استفاده از اصول برخورد مستطیلی از درس
|
|
- **بازخورد بصری** هنگام وقوع برخورد (نابودی جسم، تغییر رنگ، افکتها)
|
|
- **قوانین بازی** که برخوردها را معنادار و جذاب کند
|
|
|
|
### پیشنهادات خلاقانه
|
|
|
|
**در نظر بگیرید یکی از این سناریوها را پیادهسازی کنید:**
|
|
- **میدان ستارهسنگها**: هدایت یک سفینه در میان خردهسنگهای خطرناک فضایی
|
|
- **ماشینهای بامپر**: ایجاد یک میدان برخورد براساس فیزیک
|
|
- **دفاع شهابسنگی**: محافظت از زمین در برابر سنگهای فضایی ورودی
|
|
- **بازی جمعآوری**: جمعآوری اقلام در حالی که از موانع اجتناب میکنید
|
|
- **کنترل قلمرو**: اشیاء رقابتی که سعی در تصاحب فضا دارند
|
|
|
|
### پیادهسازی فنی
|
|
|
|
**راهحل شما باید نشان دهد:**
|
|
- استفاده صحیح از تشخیص برخورد مبتنی بر مستطیل
|
|
- برنامهنویسی رویدادمحور برای ورودی کاربر
|
|
- مدیریت چرخه عمر شی (ایجاد و نابودی)
|
|
- سازماندهی کد تمیز با ساختار کلاسی مناسب
|
|
|
|
### چالشهای اضافی
|
|
|
|
**بازی خود را با ویژگیهای اضافی بهبود دهید:**
|
|
- **افکتهای ذرهای** هنگام وقوع برخورد
|
|
- **افکتهای صوتی** برای انواع مختلف برخورد
|
|
- **سیستم امتیازدهی** مبتنی بر نتایج برخورد
|
|
- **انواع مختلف برخورد** با رفتارهای متفاوت
|
|
- **افزایش تدریجی سختی** که با گذر زمان بیشتر میشود
|
|
|
|
## معیارها
|
|
|
|
| معیار | نمونه عالی | قابل قبول | نیاز به بهبود |
|
|
|----------|-----------|----------|-------------------|
|
|
| **تشخیص برخورد** | تشخیص برخورد دقیق مبتنی بر مستطیل با انواع متعدد اشیاء و قوانین تعامل پیچیده پیادهسازی شده است | تشخیص برخورد پایه به درستی با تعاملات ساده اشیاء کار میکند | تشخیص برخورد مشکل دارد یا به طور مکرر کار نمیکند |
|
|
| **کیفیت کد** | کد تمیز و سازمانیافته با ساختار کلاسی مناسب، نام متغیرهای معنادار و توضیحات کافی | کد کار میکند اما میتوانست بهتر سازماندهی یا مستندسازی شود | کد دشوار برای درک یا ساختار ضعیف دارد |
|
|
| **تعامل کاربر** | کنترلهای پاسخگو با گیمپلی روان، بازخورد بصری واضح و مکانیکهای جذاب | کنترلهای پایه با بازخورد کافی کار میکند | کنترلها غیر پاسخگو یا گیجکننده هستند |
|
|
| **خلاقیت** | مفهوم اصلی با ویژگیهای منحصر به فرد، پرداخت بصری و رفتارهای نوآورانه برخورد | پیادهسازی استاندارد با برخی المانهای خلاقانه | عملکرد پایه بدون بهبودهای خلاقانه |
|
|
|
|
---
|
|
|
|
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
|
|
**سلب مسئولیت**:
|
|
این سند با استفاده از سرویس ترجمه ماشینی هوش مصنوعی [Co-op Translator](https://github.com/Azure/co-op-translator) ترجمه شده است. در حالی که ما در تلاش برای دقت هستیم، لطفاً توجه داشته باشید که ترجمههای خودکار ممکن است شامل خطاها یا نواقصی باشند. سند اصلی به زبان بومی آن باید منبع معتبر تلقی شود. برای اطلاعات حیاتی، ترجمه حرفهای انسانی توصیه میشود. ما مسئول هیچ گونه سوءتفاهم یا تفسیر نادرستی که از استفاده از این ترجمه ناشی شود، نمیباشیم.
|
|
<!-- CO-OP TRANSLATOR DISCLAIMER END --> |