برای اجرای بازی و کار کردن صحیح برنامه، صفحه را بچرخانید تا به آلبوم تبدیل شود!
🚀 نمای کلی
این یک نسخه بهبود یافته از بازی کلاسیک Space Invaders است که با استفاده از Flutter ساخته شده است. این بازی شامل بسیاری از ویژگیها و مکانیکهای مدرن است که آن را جذابتر و پویاتر میکند.
✨ ویژگیهای کلیدی
🎮 مکانیک بازی
- گیمپلی کلاسیک مهاجمان فضایی با گرافیک بهبود یافته
- ۵ حالت بازی: کلاسیک، بقا، سخت، دویدن کهکشانی، هجوم رئیس
- درجه سختی پویا که با مهارت بازیکن سازگار میشود
- سیستم ترکیبی برای افزایش امتیاز
- رئیسهایی با الگوهای حمله منحصر به فرد
🔫 سیستم سلاح پیشرفته
- ۶ نوع سلاح:
- توپ پایه
- شلیک گسترده
- پرتو لیزر
- توپ پلاسما
- موشکانداز
- تفنگ موجی
- سیستم انرژی برای سلاحها با قابلیت بازیابی
- جلوههای بصری برای هر نوع سلاح
⚡ تواناییهای ویژه
- زمان آهسته - زمان را کند میکند
- صفحه را پاک میکند - صفحه را پاک میکند
- مگا سپر - مگا سپر
- آتش سریع - تیراندازی شتابدار
- سیستم بارگیری مجدد با نشانگرهای بصری
👾 دشمنان پیشرفته
- ۸ نوع دشمن با تواناییهای منحصر به فرد:
- تک تیرانداز
- تانک
- شفادهنده
- اسپاونر
- فانتوم
- تغییر شکل
- محافظ
- تلهپورتر
- هوش مصنوعی دشمن با تواناییها
- نشانگرهای بصری سلامت و سپر
🌌 خطرات محیطی
- 6 نوع خطر:
- سیارکها
- زبالههای فضایی
- سیاهچالهها
- شرارههای خورشیدی
- دنبالهدارها
- سحابی
- ظاهر شدن پویای خطر
- عناصر گیمپلی استراتژیک
💎 پاداشهای بهبود یافته
- 10 نوع پاداش:
- شلیک چندگانه
- سپر
- افزایش سرعت
- افزایش طول عمر
- ارتقاء سلاح
- افزایش انرژی
- بمب ساعتی
- آهنربا
- پهپاد
- یخ زدن
- سیستم ظاهر شدن پاداش وزنی
🎨 جلوههای بصری
- لرزش صفحه در هنگام انفجارها
- ذرات و جلوههای بصری
- جلوه حرکت آهسته
- جلوههای بصری منحصر به فرد برای هر توانایی
- نشانگرهای متحرک و نوارهای پیشرفت
🏆 سیستم دستاورد
- دستاوردهای متعدد برای باز کردن
- سیستم امتیازدهی و بالاترین امتیاز
- تابلوهای امتیازات (محلی و آنلاین)
- کمپین با ماموریتهای منحصر به فرد
🛠️ فنی ویژگیها
معماری
- Flutter/Dart برای توسعه چند پلتفرمی
- معماری جداسازی ماژولار دغدغهها
- سرویسهای صدا، محلیسازی و جدول امتیازات
- مدلهایی برای همه اشیاء بازی
- ویجتهایی برای اجزای رابط کاربری
ساختار پروژه
```
lib/
├── مدلها/ مدلهای داده
│ ├── weapon.dart
│ ├── advanced_enemy.dart
│ ├── environmental_hazard.dart
│ ├── power_up.dart
│ └── ...
├── صفحات نمایش/ صفحات بازی
│ ├── game_screen.dart
│ ├── start_menu_screen.dart
│ └── ...
├── ابزارکها/ ابزارکهای رابط کاربری
│ ├── weapon.dart
│ ├── advanced_enemy.dart
│ └── ...
├── خدمات/ خدمات
│ ├── audio_service.dart
│ ├── localization_service.dart
│ └── ...
└── game_state.dart وضعیت بازی
```
پلتفرمهای پشتیبانی شده
- وب (کروم، اج، فایرفاکس، سافاری)
- ویندوز دسکتاپ
- اندروید
- iOS
🎮 کنترلها
صفحه کلید
- ← → - حرکت بازیکن
- فاصله - شوت
- Q/E - سوئیچ سلاحها
- ۱-۴ - فعال کردن قابلیتهای ویژه
- فشردن/کلید ESC - مکث
لمس/ماوس
- کشیدن - حرکت بازیکن
- لمس/کلیک - تیراندازی
🚀 نصب و راهاندازی
الزامات
- Flutter SDK 3.0+
- Dart SDK 2.17+
- برای وب: مرورگر مدرن
نصب
```bash
کلون کردن مخزن
git clone https://github.com/Katya-AI-Systems-LLC/SpaceInv.git
cd space-invaders
نصب وابستگیها
flutter pub get
اجرا در مرورگر
flutter run -d chrome --web-port=8080
اجرا در ویندوز
flutter run -d windows
اجرا در اندروید
flutter run -d android
```
📦 ساخت
نسخه وب
```bash
flutter build web --web-renderer canvaskit
```
ویندوز
````bash
ساخت flutter windows
```
اندروید
```bash
ساخت flutter apk --release
ساخت flutter appbundle --release
```
🤝 مشارکت در پروژه
نحوه مشارکت
۱. انشعاب پروژه
۲. ایجاد شاخه برای ویژگی خود (`git checkout -b feature/AmazingFeature`)
۳. ثبت تغییرات خود (`git commit -m 'Add some AmazingFeature'`)
۴. ارسال به شاخه (`git push origin feature/AmazingFeature`)
۵. باز کردن یک درخواست pull
توصیهها
- پیروی از سبک کد Dart
- اضافه کردن نظرات برای کد پیچیده
- آزمایش تغییرات در پلتفرمهای مختلف
- بهروزرسانی مستندات
📝 مستندات
- [مستندات API](docs/API.md)
- [طراحی بازی] سند](docs/GAME_DESIGN.md)
بازی خوبی داشته باشید! 🎮
تاریخ بهروزرسانی
۱۵ دی ۱۴۰۴