python_developer
1.54K subscribers
3.74K photos
1.97K videos
232 files
434 links
کانال اموزش پایتون @Real_developer
تبلیغات پذیرفته میشود.
Download 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
مرحله ششم: ساخت گورکن های دشمن

تا الان شما 4 قلعه و یک قهرمان دارید که می تواند حرکت و شلیک کند. پس چه چیزی کم است؟ بله دشمنانی که به قلعه حمله می کنند و قهرمان می تواند به سمت آن شلیک کند! در این مرحله از ساخت بازی با پایتون، گورکن ها یا دشمنان تصادفی تولید می شوند تا به قلعه ها حمله کنند. با ادامه بازی تعداد بیشتری از گورکن ها وجود خواهند داشت؛ بنابراین، بیایید لیستی از آنچه برای انجام آن نیاز دارید تهیه کنیم.

اضافه کردن گورکن ها را به لیستی از یک آرایه

بررسی و بروز کردن گورکن ها در هر فریم

نمایش گورکن ها
ابتدا کد زیر را به انتهای بخش شماره 2 اضافه کنید:

badtimer=100

badtimer1=0

badguys=[[640,100]]

healthvalue=194

موارد فوق یک تایمر یا زمان سنج (و همچنین چند مقدار دیگر) را تنظیم می کند تا در بازی پس از گذشت مدتی یک گورکن جدید اضافه شود. شما badtimer را در هر قاب کاهش می دهید تا صفر شود و سپس یک badger یا گورکن جدید ایجاد می کنید. حالا موارد زیر را به انتهای بخش شماره 3 اضافه کنید:

badguyimg1 = pygame.image.load("resources/images/badguy.png")

badguyimg=badguyimg1

خط اول بالا شبیه به تمام کد بارگیری تصویر قبلی است. خط دوم یک کپی از تصویر را تنظیم می کند تا بتوانید به راحتی گورکن ها را حرکت دهید. پس از آن باید گورکن ها را به روز کنید و در صفحه نمایش نشان دهید. این کد را بلافاصله پس از بخش شماره 6.2 اضافه کنید:
خط اول بررسی می کند که آیا badtimer صفر است یا خیر، اگر صفر باشد یک badger یا گورکن ایجاد می کند و badtimer را دوباره بر اساس تعداد دفعاتی که badtimer تا به حال اجرا شده، تنظیم می کند. اولین حلقه for مختصات x گورکن را بررسی می کند که آیا از صفحه خارج شده است و اگر گورکن خارج از صفحه است آن را حذف می کند. حلقه دوم بر اساس حذف احتمالی گورکن ها دوباره همه گورکن ها را روی صفحه نمایش ترسیم می کند.

برای استفاده از تابع تصادفی در کد بالا، باید کتابخانه random را نیز import کنید. بنابراین موارد زیر را به انتهای بخش شماره 1 اضافه کنید:

import random
در نهایت، این خط کد زیر را بلافاصله بعد از عبارت while (بخش 4) اضافه کنید تا مقدار badtimer برای هر فریم کاهش یابد:

badtimer-=1

با اجرای بازی تمام این کد را امتحان کنید. اکنون باید گیم پلی واقعی را مشاهده کنید – می توانید شلیک کنید، حرکت کنید، بپیچید و گورکن ها سعی می کنند به سمت قلعه ها حمله کنند.