آموزش برنامه‌نویسی بازی با C++23 - آخرین آپدیت

دانلود C++23 for Game Programming

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: یادگیری نحوه ساخت بازی از صفر با استفاده از C++23 درک اصول و مبانی C++23 درک اصول برنامه‌نویسی شیءگرا (OOP) استفاده از محیط توسعه (IDE) برای توسعه پروژه‌های C++ ساخت یک بازی دو بعدی (2D) در C++ که کیفیت و پیچیدگی لازم را نشان دهد یکپارچه‌سازی کتابخانه‌های شخص ثالث در پروژه C++ تحلیل و مقایسه رویکردهای مختلف برای حل مسائل پیچیده برنامه‌نویسی پیشنیازه: نیازی به تجربه قبلی در C++ نیست. داشتن مقداری تجربه برنامه‌نویسی قبلی (مانند Python، C# یا JavaScript) مفید خواهد بود. علاقه به توسعه بازی.

به دوره برنامه‌نویسی بازی با C++23 خوش آمدید. این دوره به گونه‌ای طراحی شده است که با ساخت یک بازی دو بعدی ساده از صفر، نحوه برنامه‌نویسی با C++ را به شما آموزش دهد. چه در ابتدای تحصیلات خود باشید و چه یک "یادگیرنده مادام‌العمر"، این دوره دانش و مهارت‌های لازم برای تبدیل شدن به یک برنامه‌نویس حرفه‌ای C++ را در اختیار شما قرار می‌دهد.

تسلط بر برنامه‌نویسی مهارتی است که اهمیت آن روز به روز بیشتر می‌شود. زبان‌های برنامه‌نویسی مانند Python، Rust، C و C++ در صنایع مختلفی از جمله تحقیق، امور مالی، هوش مصنوعی، علم داده و بازی‌های ویدئویی استفاده می‌شوند. هدف این دوره آموزش نحوه حل مسائل برنامه‌نویسی در سطحی بالاتر است. با یادگیری مبانی C++ از دیدگاه یک برنامه‌نویس بازی، شما نه تنها با چالش‌های پیچیده برنامه‌نویسی روبرو می‌شوید، بلکه از انجام آن لذت خواهید برد!

این دوره فرض را بر این نمی‌گذارد که شما تجربه برنامه‌نویسی قبلی دارید. محتوای دوره مبانی برنامه‌نویسی C++ را پوشش می‌دهد و در پایان دوره، شما قادر خواهید بود یک بازی دو بعدی ساده نوشته شده با C++ بسازید.

شما از GitHub برای ذخیره تکالیف برنامه‌نویسی خود استفاده خواهید کرد. GitHub نه تنها به شما اجازه می‌دهد کد منبع ارزشمند خود را به صورت ایمن در فضای ابری ذخیره کنید، بلکه به شما کمک می‌کند یک پورتفولیو (نمونه کار) حرفه‌ای بسازید که در نهایت می‌تواند برای پیدا کردن شغل رویایی شما استفاده شود.


سرفصل ها و درس ها

مقدمه Introduction

  • مقدمه Introduction

  • راه‌اندازی Visual Studio Setting up Visual Studio

  • راه‌اندازی Visual Studio (آزمایشگاه) Setting up Visual Studio (Lab)

  • سلام دنیا! Hello World!

  • سلام دنیا (آزمایشگاه) Hello World (Lab)

  • استفاده از Git Using Git

  • استفاده از Git (آزمایشگاه) Using Git (Lab)

  • ایجاد مخزن GitHub Create a GitHub Repo

  • سلام، دنیا! Hello, World!

  • فرآیند Build در C++ (پیشرفته) C++ Build Process (Advanced)

  • فرآیند Build در C++ (آزمایشگاه) C++ Build Process (Lab)

ورودی و خروجی Input & Output

  • ورودی/خروجی Input/Output

  • ورودی/خروجی (آزمایشگاه) Input/Output (Lab)

  • خوش‌آمدگویی Greeting

  • ورودی/خروجی فایل File Input/Output

  • ورودی/خروجی فایل (آزمایشگاه) File Input/Output (Lab)

انواع داده‌های پایه Fundamental Data Types

  • مقدمه بخش Section Introduction

  • اعداد صحیح (Integrals) Integrals

  • اعداد صحیح (آزمایشگاه) Integrals (Lab)

  • شماره‌ها (Enumerations) Enumerations

  • شماره‌ها (آزمایشگاه) Enumerations (Lab)

  • اعداد ممیز شناور Floating-Point

  • اعداد ممیز شناور (آزمایشگاه) Floating Point (Lab)

  • مقادیر منطقی (Booleans) Booleans

  • مقادیر منطقی (آزمایشگاه) Booleans (Lab)

  • کاراکترها Characters

  • کاراکترها (آزمایشگاه) Characters (Lab)

  • Auto Auto

  • Auto (آزمایشگاه) Auto (Lab)

  • تبدیل نوع (Type Conversion) Type Conversion

  • تبدیل نوع (آزمایشگاه) Type Conversion (Lab)

  • تبدیل‌های نوع Type Conversions

  • ماشین حساب ساده Simple Calculator

اشاره‌گرها و مراجع Pointers and References

  • اشاره‌گرها و مراجع Pointers and References

  • اشاره‌گرها و مراجع (آزمایشگاه) Pointers and References (Lab)

  • آرایه‌ها Arrays

  • آرایه‌ها (آزمایشگاه) Arrays (Lab)

  • جابجایی (Swap) Swap

  • آرایه پویا Dynamic Array

  • اشاره‌گرهای هوشمند Smart Pointers

  • اشاره‌گرهای مشترک و ضعیف (آزمایشگاه) Shared & Weak Pointers (Lab)

  • اشاره‌گرهای منحصر‌به‌فرد (آزمایشگاه) Unique Pointers (Lab)

عملیات Operations

  • عملیات Operations

  • عملیات (آزمایشگاه) Operations (Lab)

  • ماشین حساب پیشرفته Enhanced Calculator

  • عملگرهای بیتی Bitwise Operators

  • عملگرهای بیتی (آزمایشگاه) Bitwise Operators (Lab)

  • دستکاری بیتی Bitwise Manipulation

کنترل جریان Flow Control

  • کنترل جریان Flow Control

  • کنترل جریان (آزمایشگاه) Flow Control (Lab)

  • محاسبه‌گر اشکال هندسی Shape Calculator

  • عدد اول Prime Number

توابع Functions

  • توابع Functions

  • توابع (آزمایشگاه) Functions (Lab)

  • توابع بازگشتی Recursive Functions

  • الگوهای تابع (Function Templates) Function Templates

  • الگوهای تابع (آزمایشگاه) Function Templates (Lab)

  • لامبداها (Lambdas) Lambdas

  • لامبداها (آزمایشگاه) Lambdas (Lab)

  • ماشین حساب آمار Statistics Calculator

  • فیلتر کردن یک Vector Filtering a Vector

کلاس‌ها Classes

  • برنامه‌نویسی شیءگرا (OOP) Object Oriented Programming

  • کلاس‌ها Classes

  • تعریف یک کلاس (آزمایشگاه) Defining a Class (Lab)

  • سازنده‌های صریح (آزمایشگاه) Explicit Constructors (Lab)

  • تخریب‌کننده‌ها (آزمایشگاه) Destructors (Lab)

  • سازنده کپی (آزمایشگاه) Copy Constructor (Lab)

  • وراثت (آزمایشگاه) Inheritance (Lab)

  • چندریختی (Polymorphism) (آزمایشگاه) Polymorphism (Lab)

  • توابع مجازی خالص (آزمایشگاه) Pure Virtual Functions (Lab)

  • ساختارها (Structs) (آزمایشگاه) Structs (Lab)

  • فایل‌های هدر (آزمایشگاه) Header Files (Lab)

  • الگوهای کلاس (Class Templates) Class Templates

  • الگوهای کلاس (آزمایشگاه) Class Templates (Lab)

  • الگوهای مستعار (آزمایشگاه) Alias Templates (Lab)

  • عملگر زیرنویس (آزمایشگاه) Subscript Operator (Lab)

  • تخصصی‌سازی الگو (آزمایشگاه) Template Specialization (Lab)

  • نمونه‌سازی صریح الگو (آزمایشگاه) Explicit Template Instantiation (Lab)

  • معناشناسی جابجایی (Move Semantics) Move Semantics

  • معناشناسی جابجایی (آزمایشگاه) Move Semantics (Lab)

  • اشکال چندریختی Polymorphic Shapes

  • الگوی کلاس آرایه پویا (پیشرفته) Dynamic Array Class Template (Advanced)

سنگین‌سازی عملگرها (Operator Overloading) Operator Overloading

  • سنگین‌سازی عملگرها Operator Overloading

  • سنگین‌سازی عملگرها (آزمایشگاه) Operator Overloading (Lab)

  • عملگرهای انتساب Assignment Operators

  • عملگرهای انتساب (آزمایشگاه) Assignment Operators (Lab)

  • عملگرهای تک‌واحدی Unary operators

  • عملگرهای تک‌واحدی (آزمایشگاه) Unary Operators (Lab)

  • عملگر زیرنویس آرایه Array Subscript Operator

  • عملگر زیرنویس آرایه (آزمایشگاه) Array Subscript Operator (Lab)

  • عملگرهای مقایسه Comparison Operators

  • عملگرهای مقایسه (آزمایشگاه) Comparison Operators (Lab)

  • عملگرهای تبدیل Conversion Operators

  • عملگرهای تبدیل (آزمایشگاه) Conversion Operators (Lab)

  • پسوند لترال تعریف شده توسط کاربر User-Defined Literal Suffix

  • پسوند لترال تعریف شده توسط کاربر (آزمایشگاه) User-Defined Literal Suffix (Lab)

  • نقاط و جهت‌ها Points and Directions

  • تکرارکننده‌ها (Iterators) Iterators

  • پسوند لترال تعریف شده توسط کاربر User Defined Literal Suffix

مدیریت خطا Error Handling

  • مقدمه‌ای بر مدیریت خطا Introduction to Error Handling

  • تکنیک‌های سنتی مدیریت خطا Traditional Error Handling Techniques

  • تکنیک‌های سنتی مدیریت خطا (آزمایشگاه) Traditional Error Handling Techniques (Lab)

  • توابع بازگشتی/Callback (آزمایشگاه) Callback Functions (Lab)

  • مبانی استثنا (Exception) Exception Fundamentals

  • مبانی استثنا (آزمایشگاه) Exception Fundamentals (Lab)

  • مدیریت پیشرفته استثنا Advanced Exception Handling

  • مدیریت پیشرفته استثنا (آزمایشگاه) Advanced Exception Handling (Lab)

  • مدیریت پیشرفته استثنا (بلاک Try Function) (آزمایشگاه) Advanced Exception Handling (Lab - Function Try Block)

  • مدیریت سنتی خطا Traditional Error Handling

  • مبانی مدیریت استثنا Exception Handling Fundamentals

ساخت یک موتور بازی دو بعدی Building a 2D Game Engine

  • مقدمه بخش Introduction to the Section

  • ایجاد مخزن GitHub Create the GitHub Repo

  • ایجاد مخزن GitHub (آزمایشگاه) Create the GitHub Repo (Lab)

  • راه‌اندازی ساختار پوشه‌ها Setup Folder Structure

  • راه‌اندازی ساختار پوشه‌ها (آزمایشگاه) Setup Folder Structure (Lab)

  • مقدمه‌ای بر CMake Intro to CMake

  • ایجاد فایل CMakeLists.txt سطح بالا Creating the top-level CMakeLists.txt file

  • ایجاد فایل‌های CMake (آزمایشگاه) Creating CMake Files (Lab)

  • زیرمجموعه‌های Git (Submodules) Git Submodules

  • زیرمجموعه‌های Git (آزمایشگاه) Git Submodules (Lab)

  • Externals CMakeLists.txt (آزمایشگاه) Externals CMakeLists.txt (Lab)

  • نمونه پاک‌سازی صفحه Clear Screen Sample

  • نمونه پاک‌سازی صفحه (آزمایشگاه - بخش ۱) Clear Screen Sample (Lab - Part 1)

  • نمونه پاک‌سازی صفحه (آزمایشگاه - بخش ۲) Clear Screen Sample (Lab - Part 2)

  • کلاس پنجره (Window Class) The Window Class

  • کلاس پنجره (آزمایشگاه) The Window Class (Lab)

  • پیاده‌سازی پنجره The Window Implementation

  • پیاده‌سازی پنجره (آزمایشگاه) The Window Implementation (Lab)

  • بازسازی (Refactoring) نمونه پاک‌سازی صفحه Refactoring the Clear Screen Sample

  • افزودن ImGui Adding ImGui

  • نمونه ImGui The ImGui Sample

  • کتابخانه ریاضی The Math Library

  • رنگ‌ها Colors

  • جعبه‌های احاطه‌کننده هم‌راستا با محور (AABB) Axis-Aligned Bounding Boxes

  • ترکیب رنگ‌ها (Blending) Blending

  • کلاس تصویر The Image Class

  • نمونه‌برداری تصویر Image Sampling

  • ذخیره و بارگذاری تصاویر Saving and Loading Images

  • نمایش تصویر Present an Image

  • مدیریت منابع (Resource Manager) Resource Manager

  • اسپرایت‌ها (Sprites) Sprites

  • ورقه اسپرایت (SpriteSheet) SpriteSheet

  • انیمیشن اسپرایت SpriteAnimation

  • نقشه کاشی (TileMap) TileMap

  • راسترایزر (Rasterizer) Rasterizer

نمایش نظرات

آموزش برنامه‌نویسی بازی با C++23
جزییات دوره
23 hours
124
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
171
4.6 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Jeremiah van Oosten Jeremiah van Oosten

مدرس برنامه‌نویسی بازی