آموزش یادگیری کدنویسی با ساخت بازی در پایتون - آخرین آپدیت

دانلود Learn To Code By Making Games in Python

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:

ساخت بازی ماریو و ماجراجویی فضایی با پایتون

یادگیری پایتون و ساخت بازی دو بعدی پلتفرمر اختصاصی خودتان

پایتون: پردرآمدترین و پرکاربردترین زبان برنامه‌نویسی ۲۰۲۴

درک مبانی و پیشرفته برنامه‌نویسی بازی با پایتون و Pygame

یادگیری عملی برنامه‌نویسی شیءگرا

ساخت دو بازی بزرگ ماریو و ماجراجویی با پایتون

آموزش ساخت بهترین بازی‌های رابط کاربری گرافیکی (GUI) با پایتون

پیش‌نیازها:

  • مک یا کامپیوتر با هر سیستم عاملی (MacOSx, Linux, Windows)
  • بدون نیاز به تجربه برنامه‌نویسی
  • اتصال اینترنت مناسب

آیا تا به حال به ساخت بازی با رابط کاربری گرافیکی فکر کرده‌اید اما نمی‌دانستید چگونه؟

شاید حتی بدانید چگونه ابزارهایی در خط فرمان ایجاد کنید، اما هیچ ایده‌ای برای تبدیل آن‌ها به یک رابط کاربری گرافیکی که مردم بتوانند روی آن کلیک کنند ندارید. در این دوره آموزشی، ما برنامه‌نویسی GUI پایتون + ماژول‌های پیشرفته دیگر پایتون را برای ساخت رابط‌های کاربری گرافیکی (GUI) و ساخت بازی از ابتدا یاد خواهیم گرفت.

بازی‌هایی که در طول دوره خواهید ساخت:

  1. بازی کامل ماریو
  2. بازی ماجراجویی فضایی (بازی دو بعدی پلتفرمر)

از مبانی پایتون مانند متغیرها، برش رشته‌ها، رشته‌ها، برخی ماژول‌ها، عملیات حسابی و منطقی، حلقه‌ها، توابع و برنامه‌نویسی شیءگرا یاد خواهیم گرفت.

پس از آن، مبانی و مباحث پیشرفته توسعه بازی با Pygame را خواهیم آموخت:

  • شخصیت اصلی با قابلیت حرکت
  • جمع‌کردنی‌ها مانند سکه، جان اضافه و سلامتی بیشتر
  • انواع مختلف دشمنان برای مبارزه
  • خطراتی مانند میخ‌ها، اره‌ها و سکوهای متحرک
  • رابط کاربری با منوهای تعاملی

این دوره برای شما مناسب است اگر می‌خواهید:

- مهارت‌های لازم برای یافتن اولین شغل برنامه‌نویسی پایتون/شغل توسعه بازی را کسب کنید

- پارادایم‌های برنامه‌نویسی پایه تا پیشرفته را یاد بگیرید

- با حوزه‌هایی از پایتون مانند یادگیری ماشین، هوش مصنوعی، رمزنگاری و غیره آشنا شوید

- به عنوان یک برنامه‌نویس خودآموز که می‌خواهد فریلنسر شود، یاد بگیرید

… در این صورت شما به یک پایه قوی در برنامه‌نویسی پایتون نیاز دارید. و این دوره طراحی شده است تا آن مهارت‌های اصلی را به سرعت به شما بیاموزد.

این دوره برای مبتدیان کامل که هرگز برنامه‌نویسی نکرده‌اند، و همچنین برنامه‌نویسان فعلی که می‌خواهند گزینه‌های شغلی خود را با یادگیری پایتون افزایش دهند، طراحی شده است.


سوالات متداول || قبل از ثبت‌نام حتماً بخوانید:

آیا پایتون زبان برنامه‌نویسی مناسبی برای شروع یادگیری است؟

اگرچه پایتون هنوز به عنوان زبان اول در بسیاری از برنامه‌های علوم کامپیوتر پذیرفته نشده است، اما پایتون توسط کارشناسان صنعت به عنوان یک زبان برنامه‌نویسی عالی برای شروع کدنویسی شناخته می‌شود و استفاده گسترده آن در SpaceX برای خودکارسازی و مدیریت فناوری‌های پرتاب موشک، اینستاگرام، گوگل برای پشتیبانی از بک‌اند و بسیاری از شرکت‌ها برای پشتیبانی و اجرای الگوریتم‌های یادگیری ماشین و یادگیری عمیق؛ بدون شک آن را به زبان برنامه‌نویسی شماره ۱ برای یادگیری تبدیل کرده است.

برای شروع، سینتکس پایتون نسبت به اکثر زبان‌های برنامه‌نویسی اصلی دیگر ساده‌تر است و استثناها و موارد خاص کمتری دارد. همچنین تمایل دارد از کلمات کلیدی زبان انگلیسی ساده به جای سیستم علائم نگارشی که باید به خاطر سپرده شوند، استفاده کند و یادگیری کدنویسی را آسان‌تر می‌کند. با توجه به این قراردادها، کد پایتون برای تازه‌واردان کمتر از زبان‌های قابل مقایسه "درهم ریخته" به نظر می‌رسد.

یکی دیگر از ویژگی‌های عالی پایتون، همه‌گیری استفاده از آن است. در حالی که پایتون برای توسعه در سیستم‌های لینوکس و یونیکس بهینه‌سازی شده است، مفسرهای آن برای تقریباً هر سیستم عامل اصلی موجود است. تمام پیاده‌سازی‌های پایتون توسط یک کتابخانه استاندارد عالی پشتیبانی می‌شوند، به این معنی که دانشجویان جدید می‌توانند خیلی سریع به سمت ایجاد برنامه‌های کاربردی واقعی و مفید حرکت کنند. علاوه بر این، پیاده‌سازی استاندارد پایتون، CPython، رایگان و متن‌باز است.

چه نوع مشاغلی برای برنامه‌نویسان پایتون در دسترس است؟

در بازار کار، اگر روندها را مشاهده کنید؛ پایتون اغلب به عنوان یک زبان قوی برای پشتیبانی از زبان اصلی که به طور گسترده‌تری مانند C یا جاوا استفاده می‌شود، دیده می‌شود. اما اخیراً، با تکامل الگوریتم‌های یادگیری ماشین و یادگیری عمیق؛ این یک مهارت بسیار پرتقاضا در سال ۲۰۲۰ و بعد از آن است. با این حال، مشاغل متنوعی وجود دارد که می‌توانید با تمرکز صرف بر توسعه پایتون به دست آورید. بسیاری از این مشاغل شامل ساخت و بهبود ابزارهای داخلی است که یک شرکت برای ایجاد محصولات بازاری نهایی خود استفاده می‌کند، نه کار بر روی خود محصول نهایی.

یک بخش اقتصادی خاص که حضور برنامه‌نویسی پایتون در آن بسیار قوی است، صنعت ژئواسپاسیال است. این یک صنعت حیاتی است که با ابزارهای ناوبری مانند GPS، رادار و اندازه‌گیری نور سر و کار دارد.

اگر به برنامه‌های وب علاقه‌مند هستید، پایتون انتخاب بهتری برای توسعه (کار با بک‌اند یا سمت سرور) نسبت به طراحی (ایجاد نمای جلویی واقعی که بازدیدکنندگان سایت با آن تعامل دارند) است. همانطور که قبلاً ذکر شد، گوگل از پایتون برای بسیاری از اجزای موتور جستجوی خود استفاده کرد و این زبان به طور گسترده‌ای در صنعت داده‌کاوی استفاده می‌شود.

در نهایت، پایتون را می‌توان برای توسعه بازی نیز استفاده کرد. برخی از نمونه‌های معروف بازی‌هایی که به طور کامل یا تا حد زیادی با پایتون توسعه یافته‌اند عبارتند از: EVE Online، Civilization IV، سری بازی‌های Battlefield و بازی‌های Mount & Blade. محیط توسعه محبوب Blender با پایتون نوشته شده است.

آماده شروع هستید، دوست برنامه‌نویس پایتون من؟

اکنون با استفاده از دکمه "افزودن به سبد خرید" در سمت راست ثبت‌نام کنید و سفر خود را به سوی درخشش خلاقانه و پیشرفته در پایتون آغاز کنید. یا، این دوره را به صورت رایگان با استفاده از ویژگی پیش‌نمایش امتحان کنید تا ۱۰۰٪ مطمئن شوید که این دوره برای شما مناسب است.

شما را در کلاس می‌بینم!

فقط یک بار امتحانش کنید، پشیمان نخواهید شد!!


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

مقدمه Introduction

  • مقدمه Introduction

  • مقدمه دوره Introduction to the course

شروع کار Getting Started

  • پایتون چیست؟ What is Python?

  • دانلود پایتون روی دستگاه شما Download Python on your machine

  • دانلود Visual Studio Code (الزامی برای این دوره) Download Visual Studio Code (Must for this course)

  • نکته ای برای دوره! Note for the course!

  • چگونه بیشترین بهره را از این دوره ببریم؟ How to get most out of this course?

آزمون قبل از یادگیری پایتون: پیشینه برنامه نویسی خود را بررسی کنید Quiz Before Learning Python: Check your programming background

  • قبل از یادگیری پایتون Before Learning Python

  • تحقیق در مورد پایتون قبل از یادگیری پایتون Research about Python before learning about Python

انواع داده ها در پایتون Data types in Python

  • مقدمه ای بر انواع داده ها Introduction to the data types

  • مقدمات محاسباتی در پایتون Basic Arithmetic in Python

  • عملیات روی اعداد Operations on Numbers

  • مقدمه ای بر رشته ها در پایتون Introduction to Strings in Python

  • دسترسی به عناصر رشته Access elements of String

  • متدهای رشته ها Strings methods

  • متدهای بیشتر رشته ها More strings methods

  • قالب بندی رشته ها Formatting strings

  • آزمون انواع داده ها Quiz on Data Types

  • تکلیف انواع داده ها Assignment on Data Types

  • تکلیف کدنویسی Coding Assignment

متغیرها در پایتون Variables in Python

  • مقدمه ای بر متغیرها Introduction to the variables

  • ایجاد متغیرها در پایتون Create Variables in Python

  • روش صحیح نامگذاری متغیر Proper way to name a variable

  • آزمون متغیرها Quiz on Variables

یادگیری Boolean برای توسعه بازی Learn Boolean for Game Development

  • مقدمه ای بر Boolean ها در پایتون Introduction to Booleans in Python

  • Boolean ها به عنوان عددی Booleans as numeric

  • یادگیری ایجاد شرایط Learn to create conditions

  • مقایسه های ترتیبی Order comparisons

  • مثال های کد برای مقایسه های ترتیبی Code examples for Order Comparisons

  • عملگر "is" در پایتون "is" operator in Python

  • دستورات منطقی Logical statements

  • آزمون دستورات Boolean Quiz on Booleans statements

شرطی ها برای ساخت بازی Conditionals for Game Making

  • مقدمه ای بر دستورات شرطی Introduction to conditional statements

  • دستورات if else if else statements

ساختارهای داده برای توسعه بازی Data structures for Game development

  • مقدمه ای بر ساختارهای داده Introduction to Data Structures

  • بررسی نوع ساختارهای داده Checking type of Data Structures

  • چگونه به آیتم های لیست دسترسی پیدا کنیم؟ How to access the items from the list?

  • یادگیری متدهای داخلی لیست Learn list built-in methods

  • متدهای داخلی لیست ادامه دارد! List built-in methods continued!

یادگیری حلقه ها برای ساخت بازی Learn Loops for making games

  • مقدمه ای بر حلقه ها در پایتون Introduction to the loops in Python

  • حلقه while بی نهایت (حلقه بازی) Infinite while loop (Game Loop)

  • حلقه بازی محدود Finite Game Loop

  • حلقه for For loop

  • مهم: List Comprehension برای توسعه بازی Important: List Comprehension for Game Development

یادگیری توابع برای ساخت بازی Learn Functions to make Games

  • تابع چیست و چرا به آن نیاز داریم؟ What is Function and Why we need it?

  • یادگیری ایجاد توابع؟ Learn to create Functions?

  • یادگیری در مورد دستورات return Learn about return statements

  • یادگیری در مورد آرگومان های پیش فرض در پایتون Learn about default arguments in Python

برنامه نویسی شیء گرا در پایتون Object Oriented Programming in Python

  • مقدمه این بخش Introduction to the section

  • برنامه نویسی شیء گرا چیست؟ What is Object Oriented Programming?

  • کلاس و اشیاء Class and Objects

  • کلاس و اشیاء ادامه دارد Class and Objects Continued

  • سازنده در پایتون Constructor in Python

  • وراثت چیست؟ What is Inheritance?

  • وراثت چندگانه Multiple Inheritance

  • تکلیف در مورد OOP Assignment on OOP

مبانی Pygame -- ماژول بازی پایتون Pygame Fundamentals -- Python Game Module

  • مقدمه ای بر pygame Introduction to the pygame

  • سیستم مختصات Pygame Pygame coordinate System

  • مقدمه ای بر شکل های Pygame Introduction to Pygame shape

  • ترسیم شکل ها با استفاده از Pygame Draw shapes using Pygame

  • انتخابگر رنگ Color Picker

  • مبانی Pygame -- کد اسکلت Fundamentals of Pygame -- skeleton code

  • مبانی Pygame Pygame fundamentals

  • رندر کردن یک مستطیل روی صفحه Render a rectangle in the Screen

  • حرکت شکل ها Movement of the shapes

  • روان سازی حرکت با استفاده از FPS Smoothen the movement using FPS

  • حرکت در محدوده مرز Make movement within Boundary

مدیریت برخورد بین اشیاء بازی Handling collision between Game Objects

  • نظریه برخورد در بازی Theory of Game Collision

  • پیاده سازی تشخیص برخورد Implement Collision Detection

  • آزمون تشخیص برخورد Quiz on Collisions Detection

تمرین بر مبانی بازی Practice on gaming fundamentals

  • تمرین بر مبانی بازی Practice on gaming fundamentals

منابع پروژه ۱ Resources for the Project 1

  • منابع Resources

پروژه ۱: ساخت بازی های پلتفرمر دو بعدی (مبانی پلتفرمر) Project 1: Create 2D platform Games (Fundamentals of Platformer)

  • مقدمه ای بر Sprites Introduction to the Sprites

  • رندر کردن کاراکتر Render a Character

  • انیمیشن برای بازیکن Animation for the player

  • انیمیشن برای بازیکن ادامه دارد Animation for the player continued

  • حرکت بازیکن به سمت چپ Make Player move in left direction

  • پرش بازیکن Make Player Jump

  • فرود بازیکن پس از پرش Landing Player after Jump

  • جاذبه ساده Simple Gravity

  • مقدمه ای بر Tiled Map Editor Introduction to the Tiled Map Editor

  • افزودن ویژگی ها به Sprites Add properties to the Sprites

  • ایجاد نقشه برای بازی Create Map for Game

  • رندر کردن نقشه Render a Map

  • رندر کردن نقشه ادامه دارد Render a Map continued

  • تغییر موقعیت اولیه بازیکن Change the initial position of Player

  • حرکت بازیکن Make Player Move

  • تعامل با محیط/نقشه ها Interact with the Environment/Maps

  • دریافت ویژگی های کاشی Get Tiles Properties

  • سقوط بازیکن Make Player Fall

  • بازیکن نباید از اشیاء جامد عبور کند Player should not pass through Solid things

  • امتیاز و سلامتی Points and Health

  • جمع کردن سکه Collect a coin

  • محو شدن سکه پس از جمع آوری توسط بازیکن Make Coin disappear after Player collects it

  • پایان بازی زمانی که سلامتی بازیکن صفر یا کمتر باشد Game Ends when health of Player is zero or less

  • افزودن جلوه های صوتی به بازی Add sound effects to the Game

  • دستاوردها Achievements

  • فقط یک لایه رندر شود Render only one layer

  • جمع کردن آیتم ها Collect items

  • نظریه "چگونه در را باز کنیم" Theory on "How to open the door"

  • باز کردن یک در Open a Door

ساخت بازی ماریو Create Mario Game

  • وارد کردن منابع Import the resources

  • کد اسکلت برای بازی Skeleton code for the game

  • کد اسکلت برای بازی ادامه دارد Skeleton code for the game continued

  • رندر کردن پس زمینه آسمان Render the sky background

  • ایجاد ماژول دوربین Creating the camera Module

  • ایجاد BGObjects -- کلاس برای اشیاء پس زمینه Creating BGObjects--class for background object

  • به روز رسانی BGObjects Update BGObjects

  • افزودن اشیاء پس زمینه Add Background Objects

  • رندر کردن اشیاء پس زمینه Render Background Objects

  • مبانی پلتفرم Platform Basics

  • به روز رسانی پلتفرم Update Platform

  • آجر تکان دهنده از پلتفرم Shaking Bricks from Platform

  • رندر کردن پلتفرم Render the platform

  • رندر کردن آجرها Render the Bricks

  • تعریف کلاس بازیکن و ویژگی های آن Defining Player class and its attribute

  • بارگذاری تصاویر ماریو در بازی Loading mario Images in the game

  • تنظیم تصویر ماریو Setting image of Mario

  • رندر کردن تصویر Render the image

  • فراخوانی شیء کلاس بازیکن از کلاس نقشه Calling Player class object from Map class

  • به روز رسانی تصویر ماریو Updating the image of Mario

  • فیزیک بازیکن Player Physics

  • فراخوانی به روز رسانی از نقشه Calling update from the Map

  • دریافت بلوک ها برای برخوردها Get blocks for collisions

  • حرکت دوربین با بازیکن Move Camera with the Player

  • عدم عبور از بلوک ها Not letting pass through blocks

  • حرکت صحیح پا و پرش Proper leg movement and Jumping

  • پایدار سازی حرکت پا Making movement of leg stable

  • ایجاد کلاس لوله Create Tube class

  • ایجاد متد برای تولید لوله ها Create method to spawn tubes

  • رندر کردن لوله ها Render the tubes

نتیجه Conclusion

  • به امید دیدار! See you!

هوش مصنوعی در بازی ها Artificial Intelligence in Games

  • نصب anaconda Installing anaconda

  • ایجاد محیط جدید Create new Environment

  • نصب نیازمندی ها Install requirements

  • نصب Spyder (IDE) Install Spyder (IDE)

  • Bellman چیست و چرا؟ What and Why Bellman?

  • معادله Bellman Bellman Equation

  • تابع ارزش Value Function

  • معادله Bellman Bellman Equation

  • پارامتر تخفیف چیست؟ What is discount parameter?

  • برنامه چیست؟ What is plan?

  • چگونه اقدامات را انجام دهیم؟ How to take actions?

  • مقدمه ای بر یادگیری Q Intro to Q-learning

  • استخراج الگوریتم یادگیری Q Derive Q learning algorithm

  • یادگیری Q برای محیط غیرقطعی Q learning for non-deterministic environment

  • تابع ارزش در محیط غیرقطعی Value function in non-deterministic environment

  • یادگیری تفاوت زمانی Temporal Difference Learning

  • دریافت منابع Get Resources

  • محیط Environment

  • تعریف هایپرپارامترها Defining hyper parameters

  • جدول Q Q-table

  • حالت های ممکن Possible states

  • بررسی و ذخیره حداکثر مقدار Q Checking and storing max Q-value

  • مرحله ۱ یادگیری Q Q-learning phase 1

  • مرحله ۲ یادگیری Q Q-learning phase 2

  • آموزش مدل با استفاده از یادگیری Q Train model using Q-learning

  • نمایش نتیجه Display result

نتیجه گیری Conclusion

  • شما را می بینم! See you!

نمایش نظرات

آموزش یادگیری کدنویسی با ساخت بازی در پایتون
جزییات دوره
26.5 hours
147
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
11,767
4.5 از 5
دارد
دارد
دارد
Sachin Kafle
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Sachin Kafle Sachin Kafle

بنیانگذار CSAMIN & Bit4Stack Tech Inc. [[نویسنده ، معلم]] ساچین کافل یک توسعه دهنده پایتون و جاوا ، هکر اخلاقی و فعال اجتماعی است. علاقه وی در زمینه توسعه نرم افزار و شیوه های ادغام در زمینه محاسبات ، زمینه های کمی تجارت است. علایق فنی وی شامل برنامه نویسی Python ، C ، Java ، C # است. او از سال 2013 درگیر تدریس است. ساچین مهندس علوم کامپیوتر است (B.E. Computer Science). او همچنین در برخی از کانالهای YouTube که قبلاً ساخته شده بود ، مربی است. او کلاسهای رایگان را بیشتر برای دانشجویانی برگزار می کند که قادر به پرداخت هزینه کلاسهای گران قیمت در کشور وی نبوده اند.