اپلیکیشن اندرویدی فلشکارت آموزشی صفر تا صد ساخت بازی با C++: راهنمای گام به گام Alan Thorn
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره صفر تا صد ساخت بازی با C++: راهنمای گام به گام Alan Thorn
موضوع کلی: برنامه نویسی بازی
موضوع میانی: مبانی برنامه نویسی بازی با C++
📋 سرفصلهای دوره
- 1. معرفی دوره و چرا C++ برای بازیسازی؟
- 2. نصب و راهاندازی محیط توسعه (IDE و کامپایلر)
- 3. اولین برنامه C++: "Hello, World!"
- 4. متغیرها و انواع دادهها
- 5. عملگرها در C++
- 6. دستورات شرطی: If, Else If, Else
- 7. دستورات شرطی: Switch
- 8. حلقههای تکرار: For
- 9. حلقههای تکرار: While و Do-While
- 10. توابع: تعریف، فراخوانی و پارامترها
- 11. اشارهگرها (Pointers) در C++
- 12. ارجاعات (References) در C++
- 13. آرایهها (Arrays)
- 14. رشتهها (Strings)
- 15. ساختارها (Structs)
- 16. کلاسها (Classes): مقدمهای بر شیگرایی
- 17. توابع عضو و متغیرهای عضو
- 18. سازندهها (Constructors) و مخربها (Destructors)
- 19. مدیریت حافظه: New و Delete
- 20. کار با فایلها: خواندن و نوشتن
- 21. مبانی توسعه بازی و چرخه بازی (Game Loop)
- 22. ساختار اصلی یک پروژه بازی
- 23. آشنایی با یک کتابخانه گرافیکی ساده (مفهوم لایبرری)
- 24. ایجاد پنجره بازی
- 25. پاکسازی و ترسیم روی صفحه
- 26. مفهوم زمانبندی و دلتا تایم (Delta Time)
- 27. مدیریت ورودی: صفحه کلید
- 28. مدیریت ورودی: ماوس
- 29. رسم اشکال هندسی ساده (مربع، دایره)
- 30. رنگها و شفافیت در بازی
- 31. مقدمهای بر هندسه 2D: بردارها و نقاط
- 32. عملیات برداری پایه: جمع، تفریق، ضرب اسکالر
- 33. ماتریسهای تبدیل 2D: دوران، مقیاس، جابجایی
- 34. بارگذاری و نمایش تصاویر (Texture Loading)
- 35. مفهوم Sprite و Sprite Sheet
- 36. متحرکسازی Spriteهای ساده (Frame Animation)
- 37. کلاس Player: ساخت اولین شیء بازی
- 38. حرکت دادن Player بر اساس ورودی
- 39. ساخت یک دوربین ساده 2D
- 40. ایجاد چند شیء در بازی
- 41. طراحی شیگرایانه برای اشیاء بازی
- 42. وراثت (Inheritance) در طراحی بازی
- 43. چندریختی (Polymorphism) برای اشیاء بازی
- 44. کلاس پایه GameEntity و کلاسهای مشتق
- 45. مفهوم Component-Based Design (طراحی مبتنی بر کامپوننت)
- 46. پیادهسازی یک کامپوننت ساده (مثل PositionComponent)
- 47. سیستم مدیریت اشیاء بازی (EntityManager)
- 48. مفهوم وضعیتهای بازی (Game States)
- 49. پیادهسازی یک سیستم Game State Manager
- 50. رویدادها (Events) و سیستم انتشار/اشتراک (Publish/Subscribe)
- 51. پیادهسازی یک Event Manager ساده
- 52. تشخیص برخورد (Collision Detection): AABB
- 53. پاسخ به برخورد (Collision Response)
- 54. مدیریت ورودی پیشرفته: State Machine برای ورودی
- 55. سیستم ذرات (Particle System) مقدماتی
- 56. ساخت یک Particle Emitter
- 57. رابط کاربری (UI): دکمهها و متن
- 58. رندر کردن متن با فونتها
- 59. مدیریت منابع بازی (Resource Manager): تصاویر و صداها
- 60. ساخت منوی اصلی بازی
- 61. پیادهسازی یک گلوله و شلیک
- 62. دشمنان ساده: حرکت تصادفی و دنبال کردن Player
- 63. سیستم امتیاز دهی و نمایش آن
- 64. نوار سلامتی (Health Bar) برای Player و دشمنان
- 65. Tile Map: ساخت دنیای بازی با کاشیها
- 66. رندر کردن Tile Map
- 67. برخورد با Tile Map (Wall Collision)
- 68. حرکت دوربین دنبالکننده Player
- 69. پیادهسازی جاذبه (Gravity) و پرش
- 70. فیزیک 2D مقدماتی: سرعت، شتاب و گرانش
- 71. مبانی پلتفرمر (Platformer Mechanics)
- 72. انیمیشن پیشرفتهتر: Transitionها و State Machine برای انیمیشن
- 73. مدیریت لایههای رندرینگ (Z-ordering)
- 74. ساخت افکتهای بصری: Shaders (مقدمه مفهومی)
- 75. صداگذاری بازی: افکتهای صوتی و موسیقی پسزمینه
- 76. پیادهسازی یک Audio Manager
- 77. الگوهای طراحی بازی: Singleton و Factory Method
- 78. ذخیره و بارگذاری وضعیت بازی (Save/Load Game)
- 79. ساختار دادههای کاربردی در بازیسازی (مثل Quadtree برای برخورد)
- 80. مفاهیم اولیه هوش مصنوعی: State Machine برای دشمنان
- 81. الگوریتمهای یافتن مسیر (Pathfinding): A* (مقدمه مفهومی)
- 82. پیادهسازی A* برای حرکت دشمنان (مثال ساده)
- 83. Debugging: استفاده از دیباگر IDE
- 84. Log کردن اطلاعات بازی
- 85. بهینهسازی عملکرد (Performance Optimization): Bottleneckها
- 86. مدیریت حافظه پیشرفته: Object Pooling
- 87. بهبود Collision Detection با ساختارهای فضایی (مثل Grid یا Quadtree)
- 88. مفهوم Game Manager و God Object (و چرا نباید استفاده کرد)
- 89. ساخت یک سیستم Level Editor ساده (مقدمه)
- 90. دیپلوی کردن بازی (Build و اجرای نهایی)
- 91. مفاهیم اولیه توسعه چند پلتفرمی (Cross-Platform)
- 92. Git و کنترل نسخه برای پروژههای بازیسازی
- 93. تست واحد (Unit Testing) برای منطق بازی
- 94. تست ادغام (Integration Testing)
- 95. بازسازی کد (Refactoring) برای بهبود خوانایی
- 96. طراحی رابط کاربری (UX/UI Design) برای بازی
- 97. مدیریت پروژههای بازیسازی (برنامهریزی، زمانبندی)
- 98. معرفی ابزارهای جانبی برای بازیسازی
- 99. تکمیل یک بازی کوچک (پروژه نهایی): مرور و جمعبندی
- 100. گامهای بعدی و منابع آموزشی بیشتر
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.