چطور توی پایتون بازی بسازیم؟ - قسمت سوم

حلقه اصلی بازی چیست؟

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

نکته: تمام حلقه هایی که دربازی ها با عنوان حلقه اصلی استفاده میشود، بینهایت هستند؛ یعنی برنامه تا زمانی که کاربر برنامه را نبسته، به کار خود ادامه میدهد.

کد زیر مثالی از یک بازی بسیار ساده است که در حلقه ای بینهایت قرار دارد.

import pygame
pygame.init()
display = pygame.display.set_mode((400, 500))
pygame.display.set_caption('Simple Game')
while True:
    #دستورات برنامه#

رویدادها (events) در بازی

زمانی که ما یکی از دکمه های کیبورد را فشار میدهیم یا زمانی که با موس به جایی کلیک میکنیم، کتابخانه پایگیم با دستور زیر آن ها را دریافت میکند و ما میتوانیم با استفاده از آنها، به کاربر چیزی را نشان دهیم یا ...

pygame.event.get()

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

while True:
    for event in pygame.event.get():
        #ادامه دستورات#

حالا میخواهیم داخل حلقه‌مان(حلقه for)، یک شرط برای خودمان تعریف کنیم.

مثلا اگر کاربر روی دکمه خروج را کلیک کرد، برنامه بسته شود.

حالا میخوایم انجامش بدیم.

while True:
for event in pygame.event.get():
    if event.type == pygame.QUIT:
        pygame.quit()

خط 1: یک حلقه بینهایت برای بازی‌مان میسازیم

خط 2: یک حلقه for میسازیم و این حلقه کلید هایی که کاربر وارد میکند را برای ما میفرستد.

خط 3و 4: یک شرط تعریف میکنیم. آن هم این است که اگر کاربر (از طریق موس) روی دکمه خروج از برنامه رفت و روی آن کلیک کرد، از بازی خارج شو.

تکلیف: برنامه ای بنویسید که هر موقع که من کلید "t" رو فشار دادم، پرینت کنه "nazan dige!"
https://virgool.io/@a.jalali2005/%DA%86%D8%B7%D9%88%D8%B1-%D8%AA%D9%88%DB%8C-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-%D8%A8%D8%A7%D8%B2%DB%8C-%D8%A8%D8%B3%D8%A7%D8%B2%DB%8C%D9%85%D9%82%D8%B3%D9%85%D8%AA-%DA%86%D9%87%D8%A7%D8%B1%D9%85-wu0u2kx0dse4

اگر سوالی دارید در قسمت کامنت ها بپرسید.