یادگیری ++C و ساخت بازی از ابتدا
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- یادگیری اصول ++C
- ساخت بازی کامل با ++C
- یادگیری فرآیند توسعه اپلیکیشن ++C
- سازگاری با SCM گیت و گیتهاب
- سازگاری با ابزار بیلد CMake
توضیحات دوره
در این دوره جامع، دانشجویان به طور عمیق با جنبههای بنیادی ++C آشنا میشوند. آنها مفاهیم اصلی این زبان را بررسی کرده و اصول برنامهنویسی شیگرا را مطالعه میکنند و به ظرافتهای مدیریت حافظه مسلط میشوند. برنامه درسی دوره فراتر از دانش نظری است و شامل ایجاد و استفاده عملی از کتابخانهها و موارد اجرایی ++C میشود و به یادگیرندگان مهارتهای ملموس و کاربردی ارائه میدهد. با تأکید بر ابزارهای مرتبط با این صنعت، این دوره بهطور کامل گیت و CMake را در این گردشکار یکپارچه کرده و اطمینان میدهد که دانشجویان ابزارهای ضروری که بهطور گستردهای در توسعه نرمافزار استفاده میشوند، را کسب کنند.
پس از ایجاد یک پایه قوی، دوره به سمت ایجاد پویای یک بازی کامل از ابتدا پیش میرود. این مرحله هیجانانگیز شامل استفاده از ++C به همراه یک آرایه منتخب از کتابخانههای قدرتمند است. از طریق تجربیات عملی و فراگیر، دانشجویان نه تنها درک عمیقی از ++C به دست میآورند، بلکه کاربردهای عملی آن را در سناریوهای واقعی نیز مشاهده میکنند.
این دوره برای چه کسانی مناسب است؟
- مبتدیانی که میخواهند ++C و توسعه بازی را یاد بگیرند.
- توسعهدهندگان یونیتی که میخواهند به آنریل انجین وارد شوند اما تجربهای در ++C ندارند.
- توسعهدهندگان آنریل انجین که میخواهند از ++C به جای بلوپرینت استفاده کنند.
- دانشجویان دانشگاه که به مباحث اضافی برای یادگیری کدنویسی نیاز دارند.
- مهندسان نرمافزار که به توسعه بازی علاقهمند هستند.
یادگیری ++C و ساخت بازی از ابتدا
-
مقدمه 10:44
-
نصب ویژوال استودیو و ++C 05:38
-
اولین پروژه ما، ویژوال استودیو و نقطه ورود 09:28
-
برنامه Hello World، دستورات و include 07:03
-
متغیرها 09:42
-
دیگر تایپهای متغیر و جزئیات درباره متغیرها 16:24
-
مبانی آرایه 12:27
-
تایپ بردار 17:42
-
تایپ نقشه 11:59
-
عملگرها 17:23
-
ورودیها 12:57
-
دستور if 15:26
-
حلقه For 15:53
-
استفاده از حلقه for با آرایهها و بردارها 15:44
-
حلقه While و Do While 07:40
-
تایپهای switch و enum 16:45
-
تسکهای ساده 1 - تبدیل مایل به کیلو 11:44
-
تسکهای ساده 2 - عدد فرد یا زوج 09:36
-
تسکهای ساده 3 - شمارش کلمات تکراری و پاکسازی ورودی - بخش 1 13:53
-
تسکهای ساده 3 - شمارش کلمات تکراری و پاکسازی ورودی - بخش 2 09:25
-
تسکهای ساده 4 - یافتن کوچکترین عدد 10:02
-
تسکهای ساده 5 - الگوریتم مرتبسازی حبابی 11:46
-
اصول توابع 12:41
-
انتقال بر اساس مرجع و کلیدواژه const 12:50
-
مبانی قالبها 10:35
-
قالبهای متغیر و تخصص قالب 16:05
-
مراحل ساخت یک برنامه و چندین فایل 10:14
-
فایلهای هدر و درونخطیها 15:00
-
جداسازی کد یوتیلیتی به پروژه کتابخانه 11:45
-
لینکدهی کتابخانه یوتیلیتی 09:47
-
لینکدهی کتابخانه یوتیلیتی با DLL 17:00
-
پکیج و استفاده از کتابخانه ما در راهحلهای دیگر 12:06
-
ساختار اولیه حافظه 09:06
-
اشارهگرها 10:22
-
اشکالزدایی و بررسی دقیق اشارهگرها 17:14
-
تایپ آرایه و اشارهگر 11:18
-
حافظه استک 08:11
-
حافظه Heap 15:45
-
نقض دسترسی و نشت حافظه 13:44
-
اشارهگر منحصر به فرد 11:15
-
اشارهگر مشترک 12:49
-
اشارهگر ضعیف 16:13
-
مبانی کلاسها 12:12
-
Constructors 14:11
-
Destructors 07:25
-
توابع عضو و جفتهای Setter و Getter 13:14
-
کلیدواژه const در کلاسها 09:45
-
مبانی وراثت 13:13
-
کلیدواژه محافظت شده و Overriding تابع 15:11
-
پلی مورفیسم و توابع مجازی خالص 09:29
-
مسائل مربوط به کپی سطحی 13:13
-
کپی عمیق و انتقال سمانتیک 17:39
-
عملگر تخصیص کپی 10:31
-
Overloading عملگر 10:33
-
عملگر تخصیص انتقال و Big Five 12:01
-
انتقال کلاس به فایلهای هدر و Cpp 12:01
-
کلاسهای قالب 22:44
-
عملگرهای باینری و مسئله کلیدواژه Friend 15:22
-
کلیدواژه استاتیک در کلاس 12:29
-
گیت و گیتهاب 07:17
-
ردیابی تاریخچه اولیه با گیت 14:14
-
مبانی برنچها 12:16
-
ریست کردن تاریخچه و Reflog 07:37
-
برگشت به کامیتها 12:39
-
Merge Conflict 12:29
-
پوش کردن به مخزن ما در گیتهاب 09:46
-
بروزرسانی مخازن محلی و از راه دور با Push و Pull 13:39
-
Git Ignore 10:13
-
نصب CMake 05:30
-
استفاده از CMake برای ساخت پروژه ما 10:41
-
افزودن پروژه بازی Light Years 07:53
-
ریفکتور کردن فایلهای منبع CMake و راهاندازی گیت 09:30
-
واکشی SFML به پروژه ما 16:30
-
افزودن فرمان پس از بیلد برای کپی کتابخانههای مشترک به هدف بیلد 17:48
-
راهاندازی کلاس اپلیکیشن 20:47
-
راهاندازی حلقه بازی 10:59
-
راهاندازی رندرینگ 08:11
-
نقطه ورود و جداسازی کد موتور و بازی 18:23
-
ایجاد هسته و ماکروی لاگ کردن 11:14
-
تعریف تایپهای داده رایج 12:23
-
پیادهسازی کلاس World 17:05
-
پیادهسازی کلاس بازیکن 14:15
-
کلاس آبجکت و مدیریت ساختارزدایی آبجکت 13:20
-
افزودن اسپرایت رندرینگ به بازیکن 18:16
-
استفاده از فایل پیکربندی برای راهاندازی مسیر دارایی 18:19
-
ایجاد Asset Manager 16:52
-
راهاندازی چرخه پاکسازی دارایی 10:12
-
پیادهسازی رابط تبدیل بازیکن 18:21
-
ایجاد کلاس فضاپیما 10:48
-
فضاپیمای بازیکن و ورودی حرکت 13:20
-
نرمالسازی ورودی بازیکن 10:19
-
جلوگیری از رفتن بازیکن فراتر از پنجره 07:32
-
مکانیکهای اولیه شلیک 16:04
-
ایجاد کلاس گلوله و Spawn کردن گلولهها 14:50
-
نابودی گلوله و چرخه پاکسازی بازیکن 11:14
-
واکشی موتور فیزیک Box2D 08:00
-
افزودن سیستم فیزیک 08:00
-
ایجاد تابع افزودن Listener 17:32
-
راهاندازی مقداردهی اولیه فیزیک بازیکن 12:57
-
اتصال رویدادهای همپوشانی 15:23
-
پیادهسازی حذف جسم فیزیکی 11:23
-
پیادهسازی کامپوننت سلامت 12:07
-
آشنایی با لامبدا و کلاس تابع Std 08:27
-
فعالسازی دریافت اشارهگر ضعیف از This 08:07
-
ایجاد کلاس Delegate و رابط Bind Action 09:29
-
تکمیل کلاس Delegate 13:28
-
استفاده از شناسه تیم و اعمال آسیب گلوله 20:31
-
امکانات نمایان شدن و Lerp 16:19
-
ایجاد کلاس ذرات 17:02
-
ایجاد کلاس انفجار 26:28
-
دشمن و پیشگام 22:06
-
ایجاد کلاس سطح اول بازی 08:57
-
ایجاد رابط اولیه Timer Manager 11:21
-
پیادهسازی کلاس تایمر و صدور Callback 17:38
-
ایجاد قابلیت تایمر پاکسازی 14:58
-
ریفکتور کردن کلید تایمرها به کلاس مدیریت تایمر خودمان 16:42
-
ایجاد کلاس اولیه مرحله بازی 09:25
-
استفاده از World برای مدیریت مراحل 11:35
-
ایجاد مرحله پیشگام 28:25
-
ایجاد دشمن Twin Blade 13:02
-
ایجاد مرحله Twin Blade 13:57
-
ایجاد مرحله انتظار و اصلاح کنترل پاکسازی مرحله 16:11
-
ایجاد دشمن ششضلعی 15:15
-
ایجاد مرحله ششضلعی 14:43
-
ایجاد کلاس UFO 13:48
-
ایجاد مرحله UFO 17:46
-
پیادهسازی تیرانداز سه طرفه 14:38
-
پیادهسازی برفپاککن جلو 11:18
-
ایجاد کلاس پاداش 11:03
-
ایجاد توابع فکتوری پاداش 16:11
-
ایجاد پاداشها هنگام مرگ دشمن 14:23
-
افزودن سطوح اسلحه 17:23
-
افزودن کلاس بازیکن 16:40
-
پیادهسازی کلاس Player Manager 14:40
-
پیادهسازی spawn کردن مجدد بازیکن 08:13
-
ایجاد کلاس HUD 07:47
-
مدیریت HUD در کلاس World 14:56
-
ایجاد کلاس اولیه ویجت 12:20
-
ایجاد کلاس ویجت متن و بارگذاری فونت از طریق Asset Manager 13:51
-
ریفکتور کردن کلاس Asset Manager 08:04
-
افزودن HUD گیم پلی و نمایش نرخ فریم بازی 12:33
-
پیادهسازی gauge مقدار و نوار سلامت 21:44
-
بروزرسانی سلامت بازیکن به نوار سلامت 18:05
-
اصلاح نوار سلامت بازیکن 14:05
-
افزودن ویجت تصویر و آیکون جان بازیکن 11:52
-
نمایش تعداد جانها در رابط کاربری 13:21
-
ریفکتور کردن Casting به None Casting در کلاس پاداش 10:33
-
نمایش امتیاز بازیکن 13:14
-
افزودن پاداش جان و تنظیم نرخ Spawnکردن پاداش 09:11
-
طرحبندی ساختار اولیه کلاس دکمه 15:02
-
پیادهسازی رفتار دکمه و رویداد کلیک 24:26
-
پیادهسازی رفتار دکمه و رویداد کلیک 24:26
-
بارگذاری سطح بازی با منوی اصلی 17:11
-
طرحبندی امکانات اولیه مرحله Chaos 09:02
-
تکمیل مرحله Chaos 19:19
-
افزودن State آسیبناپذیری بازیکن 13:41
-
افزودن کلاس Boss و مرحله Boss 13:41
-
افزودن حرکت Boss و تیراندازهای اولیه 09:14
-
افزودن مراحل مختلف به Boss 21:21
-
متعادلسازی سختی Boss 08:45
-
افزودن رابط کاربری Game Over و برنده 18:43
-
ریست کردن بازیکن و سیستم فیزیک هنگام ری استارت 13:41
-
تست State برنده 06:33
-
افزودن بازیکن Backdrop 16:08
-
ایجاد کلاس لایه پسزمینه 12:29
-
بارگذاری تکسچرها و مقداردهی اولیه اسپرایتها با تکسچرهای تصادفی 09:41
-
تبدیل و سرعت اسپرایت تصادفی 09:50
-
راهاندازی حرکت و رندرینگ اسپرایتها 13:03
-
افزودن لایه پسزمینه سیارات و شهابسنگها 11:38
-
استفاده از Homebrew برای نصب گیت و CMake در سیستم عامل مک 04:48
-
ساخت بازی روی سیستم عامل مک 15:30
-
نکات نهایی 04:38
-
نظرات نهایی 02:19
مشخصات آموزش
یادگیری ++C و ساخت بازی از ابتدا
- تاریخ به روز رسانی: 1404/06/14
- سطح دوره:همه سطوح
- تعداد درس:173
- مدت زمان :37:57:36
- حجم :18.52GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy