python_developer
1.54K subscribers
3.74K photos
1.97K videos
232 files
434 links
کانال اموزش پایتون @Real_developer
تبلیغات پذیرفته میشود.
Download Telegram
شاید فکر کنید این کدها در ساخت بازی با پایتون پیچیده هستند اما اگر آن ها را به عبارات if تقسیم کنید، چندان پیچیده نیست. ابتدا بررسی کنید که آیا کلید فشار داده شده، آزاد شده است یا خیر؟ سپس بررسی می کنید که کدام کلید فشرده یا آزاد می شود، و اگر کلید فشرده یا آزاد شده، یکی از کلیدهایی است که از آن استفاده می کنید، متغیر کلیدها را متناسب با آن به روز می کنید. در نهایت، شما باید متغیر playerpos را در پاسخ به فشارهای کلید به روز کنید. کد زیر را به پایان game.py اضافه کنید (با یک سطح تورفتگی، آن را در همان سطح حلقه for قرار دهید):
این کد به سادگی بررسی می کند که کدام یک از کلیدها فشرده می شوند و از موقعیت x یا y خرگوش (بسته به کلید فشرده شده) اضافه یا کم می کند تا بازیکن حرکت کند. بازی را اجرا کنید و باید بتوانید با جهت های کیبرد خرگوش را حرکت دهید.
🚀 دوره آموزشی علـــــم داده (Data Science)

🔥 نیاز روز بــــازار کــــار ایــــــران و خـــارج
🏙 مناسب برای تمام رشته‌ها
🖥 آموزش با نرم افزارها و زبــان‌های R، Python و SQL Server
🌟 با گواهینامه مورد تایید وزارت علوم و معتبر
🔬 آموزش #آنلاین و با موردکاوی‎های واقعی و پروژه

🚧 در خــــانه بمانید و آمـــــوزش ببینید

🔗 مشاهده جزئیات دوره و مشاوره رایگان:
https://tihe.ac.ir/data-science-course/
This media is not supported in your browser
VIEW IN TELEGRAM
مرحله چهارم: چرخش خرگوش

خوب تا الان خرگوش می تواند با فشار دادن کلیدها حرکت کند، اما اگر بتوان از ماوس برای چرخاندن خرگوش به جهت مورد نظر استفاده کرد، عالی خواهد بود. برای اجرای این عمل نیاز به محاسبات مثلثاتی داریم. به تصویر زیر توجه کنید:
در تصویر بالا، اگر مختصات (5،3) موقعیت خرگوش و مختصات (2،4) موقعیت فعلی ماوس باشد، می توان با اعمال تابع مثلثاتی atan2 به تفاوت در زاویه چرخش (z) را پیدا کنید. پس با فاصله بین دو نقطه و تابع tan به سادگی خرگوش بازی در جهت ماوس خواهد چرخید.

اگر کمی در مورد این قسمت گیج شده اید، نگران نباشید و ادامه دهید بازی سازی نیاز به درک کامل از ریاضیات دارد به همین دلیل است که باید در کلاس ریاضی حواستان جمع باشد. البته این راهکار را همیشه در برنامه نویسی بازی استفاده خواهید کرد. اکنون باید این مفهوم را در ساخت بازی با پایتون به کار بگیرید. برای انجام این کار، می توانید از تابع PyGame Surface.rotate (degree) استفاده کنید. به خاطر داشته باشید که مقدار Z در رادیان است. تابع atan2 در کتابخانه ریاضی پایتون وجود دارد؛ بنابراین ابتدا کد زیر را به انتهای بخش شماره 1 اضافه کنید:

import math

سپس، آخرین خط در بخش 6 (خط player.blit) را با کد زیر جایگزین کنید:
بیایید ساختار اساسی کد بالا را مرور کنیم. ابتدا موقعیت ماوس و خرگوش را دریافت می کنید. سپس آن ها را وارد تابع atan2 می کنید. پس از آن، زاویه دریافتی از تابع atan2 را از رادیان به درجه تبدیل می کنید (رادیان را تقریباً در 57.29 یا 360/2π ضرب کنید). از آنجا که خرگوش چرخانده می شود، موقعیت آن تغییر می کند. بنابراین اکنون موقعیت جدید خرگوش را محاسبه کرده و خرگوش را روی صفحه نمایش ترسیم می کنیم.

حال بازی را دوباره اجرا کنید. اگر فقط از کلیدهای جهت کیبورد استفاده می کنید بازی باید دقیقاً مانند قبل رفتار کند. اما اگر ماوس خود را حرکت دهید، خرگوش نیز می چرخد.
مرحله پنجم: تیراندازی خرگوش

در ساخت بازی با پایتون دیدیم خرگوش بازی در حال حرکت است، وقت آن است که کمی به بازی هیجان بدهیم و اجازه دهیم خرگوش بازی با استفاده از تیر به دشمنان شلیک کند. این مرحله کمی پیچیده تر است زیرا شما باید تمام پیکان ها را پیگیری و به روز کنید و آنها را بچرخانید و هنگام خارج شدن از صفحه آنها را حذف کنید. اول از همه، متغیرهای لازم را به انتهای بخش 2 اضافه کنید:

acc=[0,0]

arrows=[]
متغیر اول صحت بازیکن یا خرگوش بازی را ردیابی می کند و آرایه دوم تمام پیکان ها را ردیابی می کند. متغیر دقت در اصل لیستی از تعداد شلیک های شلیک شده و تعداد گورکن های اصابت شده است. بعداً، ما از این اطلاعات برای محاسبه درصد دقت استفاده خواهیم کرد. در این مرحله، تصویر پیکان یا bullet را در انتهای بخش شماره 3 بارگذاری کنید:

arrow = pygame.image.load("resources/images/bullet.png")

حالا وقتی کاربر روی ماوس کلیک می کند، یک پیکان باید شلیک شود. موارد زیر را به عنوان بخش رویداد جدید به انتهای بخش 8 اضافه کنید:
این کد بررسی می کند که آیا ماوس کلیک شده است یا خیر؛ موقعیت ماوس را می گیرد و چرخش پیکان را بر اساس موقعیت چرخانده شده خرگوش و موقعیت مکان نما محاسبه می کند. این مقدار چرخش در آرایه arrows ذخیره می شود. در مرحله بعد، باید پیکان ها را روی صفحه ترسیم کنید. کد زیر را پس از بخش شماره 6.1 اضافه کنید:
مقادیر velyx و velx با استفاده از مثلثات محاسبه می شود و 10 سرعت پیکان ها است. دستور if فقط بررسی می کند که گلوله خارج از محدوده باشد و اگر باشد، پیکان را حذف می کند. دومی برای عبارت از فلش ها عبور کرده و آنها را با چرخش صحیح ترسیم می کند.

حالا وقت آن رسیده دوباره برنامه را اجرا کنید. بازیکن بازی با استفاده از کلیک ماوس می تواند پیکان ها را شلیک کند.
🚀 دوره آموزشی بازاریابی داده محور (Data Driven Marketing)

🧬 استفاده از #علم_داده و #تحلیل_داده برای افزایش سودآوری
🖥 همراه با آموزش نرم‌افزارها به طور کامل و اجرایی
مخصوص #استخدام یا #اپلای_شغلی

🧩 مناسب برای تمام رشته‌های مهندسی، مدیریت و علوم پایه
🏆 با گواهینامه مورد تایید وزارت علوم، تحقیقات و فناوری
🔬 آموزش #آنلاین و با مطالعات موردی واقعی و پروژه

👤 مدرس: مهندس شهاب شیرین (مدیر پرفورمنس مارکتینگ بیمیتو و ازکی)

🔗 مشاهده جزئیات دوره و مشاوره رایگان:
👉 https://tihe.ac.ir/data-driven-marketing-course/
This media is not supported in your browser
VIEW IN TELEGRAM