python_developer
1.54K subscribers
3.74K photos
1.97K videos
232 files
434 links
کانال اموزش پایتون @Real_developer
تبلیغات پذیرفته میشود.
Download Telegram
در این کد تنها یک نکته مهم وجود دارد که باید به آن توجه کنید. دستور colliderect یک تابع PyGame است که بررسی می کند آیا دو مستطیل متقاطع هستند یا خیر. دو خط دیگر فقط آنچه را که در بالا توضیح داده شد انجام می دهند. اگر برنامه را اجرا کنید، در نهایت باید بتوانید گورکن ها را با شلیک پیکان بکشید.
مرحله هشتم: اضافه کردن متریک زمان و مقدار جان

بازی بسیار خوب پیشرفت می کند شما مهاجمان خود را دارید و مدافع خود را نیز دارید. اکنون تنها چیزی که شما نیاز دارید راهی برای حفظ امتیاز و نشان دادن عملکرد خوب خرگوش قهرمان است. ساده ترین راه برای انجام این کار اضافه کردن یک HUD (Heads Up Display) است که سطح سلامت فعلی قلعه ها را نشان می دهد. همچنین می توانید یک ساعت اضافه کنید تا نشان دهد که قلعه چقدر زنده مانده است. ابتدا ساعت را اضافه کنید. کد زیر را درست قبل از شروع قسمت شماره 7 اضافه کنید:
کد بالا به سادگی یک فونت جدید با استفاده از قلم PyGame پیش فرض تنظیم شده روی اندازه 24 ایجاد می کند. سپس از آن فونت برای نمایش متن زمان بر روی سطح استفاده می شود. پس از آن، متن روی صفحه قرار می گیرد و ترسیم می شود. بعد نوار سلامتی health bar یا میزان جان را اضافه کنید. اما قبل از رسم health bar، باید تصاویر را برای نوار بارگذاری کنید. کد زیر را به انتهای بخش شماره 3 اضافه کنید
healthbar = pygame.image.load("resources/images/healthbar.png")

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

اولی تصویر قرمز رنگی است که برای نوار سلامت کامل استفاده می شود. تصویر دوم سبز است که برای نشان دادن سطح سلامت فعلی استفاده می شود. حالا کد زیر را بلافاصله بعد از بخش 6.4 (که به تازگی اضافه کرده اید) اضافه کنید تا نوار سلامت روی صفحه ترسیم شود:

# 6.5 - Draw health bar

screen.blit(healthbar, (5,5))

for health1 in range(healthvalue):

screen.blit(health, (health1+8,8))

کد ابتدا نوار سلامتی تمام قرمز را ترسیم می کند. سپس مقدار مشخصی از رنگ سبز را با توجه به عمر قلعه بر روی نوار می کشد، اگر برنامه را اجرا کنید، باید یک تایمر و یک نوار سلامتی داشته باشید.
This media is not supported in your browser
VIEW IN TELEGRAM
مرحله نهم: برنده یا بازنده

اگر به مدت طولانی بازی کنید، حتی اگر میزان جان شما به صفر برسد، بازی همچنان ادامه دارد! و شما می توانید همچنان می توانید شلیک کنید. شما به نوعی سناریو برد/باخت نیاز دارید تا بازی ارزش بازی کردن را داشته باشد. بنابراین اجازه دهید شرایط برد و باخت و همچنین صفحه برد یا باخت را اضافه کنیم. این کار را با خارج شدن از حلقه اصلی و وارد شدن به یک حلقه برد/باخت انجام می دهید. در حلقه برد/باخت، باید بفهمید که کاربر برنده یا بازنده است و صفحه را مطابق آن نشان دهید. یک طرح کلی از سناریوهای برد/باخت می تواند بصورت زیر باشد:

اگر زمان تمام شد (90000 میلی ثانیه یا 90 ثانیه) پس:

اجرای بازی را متوقف کنید

تیجه بازی را 1 قرار دهید یعنی برنده شده اید

در صورت تخریب قلعه، موارد زیر را دنبال کنید:

اجرای بازی را متوقف کنید

نتیجه بازی را 0 قرار دهید یعنی بازنده شده اید

دقت را در هر آخر محاسبه کنید و این خطوط را به انتهای game.py اضافه کنید:
اولین دستور if بررسی می کند که زمان به پایان رسیده باشد. مورد دوم بررسی می کند که آیا قلعه تخریب شده است یا خیر. مورد سوم نسبت دقت شما را محاسبه می کند. پس از آن، یک عبارت سریع برنده یا باخت را بررسی می کند و تصویر صحیح را نمایش می دهد.

البته، اگر می خواهید تصاویر را برای صفحه های برد و باخت نمایش دهید، ابتدا باید این تصاویر بارگذاری شوند. بنابراین کد زیر را به انتهای بخش شماره 3 اضافه کنید:

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

youwin = pygame.image.load("
و در بخش چهار تغییرات زیر را انجام دهید.

# 4 - keep looping through

while 1:

badtimer-=1

به جای کدهای بالا کدهای پایین را جایگزین کنید.

# 4 - keep looping through

running = 1

exitcode = 0

while running:

badtimer-=1
متغیر در حال اجرا بودن بازی را پیگیری می کند و متغیر کد خروجی پیروزی یا باخت بازیکن را پیگیری می کند. بازی را دوباره اجرا کنید و اکنون می توانید پیروز شوید یا ببازید.
مرحله دهم: اضافه کردن جلوه های صوتی

بازی بسیار خوب طراحی شده  اما سکوت در این بازی بسیار پر رنگ است! افزودن جلوه های صوتی می تواند کل احساس بازی را تغییر دهد. PyGame بارگیری و پخش صداها را بسیار ساده کرده است. ابتدا، این کد در انتهای بخش شماره 2 وارد کنید کنید:

pygame.mixer.init()
سپس صداها را بارگذاری کرده و سطح صدا را در انتهای قسمت شماره 3 تنظیم کنید:
سپس صداها را بارگذاری کرده و سطح صدا را در انتهای قسمت شماره 3 تنظیم کنید:
اکثر کدهای بالا به سادگی بارگیری فایل های صوتی و پیکربندی سطوح حجم صدا است. اما به خط pygame.mixer.music.load توجه کنید – آن خط موسیقی پس زمینه بازی را بارگذاری می کند و خط بعدی موسیقی پس زمینه را برای همیشه تکرار می کند. اکنون تنها کاری که باید انجام دهید این است که در صورت نیاز جلوه های صوتی مختلف را پخش کنید. طبق دستورات موجود در کد زیر این کار را انجام دهید:
بازی را یکبار دیگر اجرا کنید. متوجه خواهید شد که اکنون موسیقی پس زمینه و جلوه های صوتی برای برخورد و تیراندازی دارید. با این کار بازی بسیار زنده تر به نظر می رسد.
سخن آخر

در این آموزش سعی شد نحوه ساخت بازی با پایتون آموزش داده شود. یک سناریو کامل از نحوه حرکت قهرمان بازی و حمله دشمنان پیاده سازی شد و در نهایت در 10 مرحله بازی ساخته و اجرا شد. لازم به ذکر است کتابخانه قدرمتند pygame پایتون ابزار ها و امکاناتی متنوعی برای بازی سازی دارد که شما در این آموزش تنها گوشه ای از این امکانات را مشاهده کردید.

در ضمن هدف از تکه تکه گذاشتن کد ها و اضافه کردن کدهای برنامه در هر مرحله، فقط برای آموزش بهتر شما عزیزان بود
This media is not supported in your browser
VIEW IN TELEGRAM