بخشی از پاورپوینت
اسلاید 1 :
برنامه سازی پیشرفته (برنامه نویسی شیءگرا:pygame)
اسلاید 2 :
pygame
چرخه بازی در pygame
Setup
Handle Events
Update Elements
Draw Surface
Show Surface
Close Down Game
ایجاد یک پنجره و بارگذاری برخی محتویات
در صورت بروز یک رخداد (مانند کلیک بر روی یک شیء، بستن پنجره و .) به آن رسیدگی می شود.
اعمال تغییرات مورد نیاز بر روی عناصر بازی
رسم عناصر بازی در پس زمینه
نمایش عناصر بازی
exit
اتمام بازی
اسلاید 3 :
pygame
Setup
Event Handling
Draw Surface
Show Surface
Close Down
Game Loop
اسلاید 4 :
pygame
اسلاید 5 :
pygame
افزودن عکس به صفحه بازی
ball = pygame.image.load("ball.png")
ball = pygame.transform.scale(ball,(50,50))
main_surface.blit(ball, (100, 120))
my_font = pygame.font.SysFont('Courier', 16)
the_text = my_font.render(‘Hello World’, True, (0,0,0))
main_surface.blit(the_text, (10, 10))
افزودن متن به صفحه بازی
خواندن فایل عکس (این عکس در کنار فایل اصلی برنامه قرار دارد.
اعمال تغییرات مختلف بر روی عکس خوانده شده
افزودن عکس خوانده شده به مختصات خاصی از پنجره برنامه
تعریف یک فونت
ایجاد متن با استفاده از فونت ایجاد شده
افزودن متن ایجاد شده به مختصات خاصی از پنجره برنامه
اسلاید 6 :
pygame
مثال: محاسبه سرعت بروزرسانی صفحه توسط pygame در کامپیوتر شما
اسلاید 7 :
pygame
مثال: توپ رقصان
اسلاید 8 :
تمرین
تمرین: برنامه ای بنویسید که حرکت 5 توپ با اندازه های مختلف را در صفحه (با سرعت ثابت) شبیه سازی کند. در صورتی که توپ ها به هم برخورد کنند، مسیر حرکت همدیگر را تغییر می دهند.
تمرین: برنامه ای بنویسید که مسیر حرکت یک توپ که با زاویه 45 درجه به سمت بالا پرتاب می شود را شبیه سازی کند.
اسلاید 9 :
pygame
مثال: توپ رقصان (ایجاد یک کلاس توپ)
نوع داده: Ball
صفات
رفتارها
x , y: موقعیت
vx,vy: سرعت
ball: تصویر توپ
move(surface ): جابجایی و نمایش این توپ بر روی صفحه
اسلاید 10 :
pygame
مثال: توپ رقصان (ایجاد یک کلاس توپ)
اسلاید 11 :
pygame
مثال: توپ رقصان (ایجاد یک کلاس توپ)
اسلاید 12 :
تمرین
تمرین: کلاس توپ ها را به گونه ای تغییر تغییر دهید که زمانی که توپ ها به یکدیگر برخورد میکنند، مسیر خود را تغییر دهند.
تمرین: کلاس توپ ها را به گونه ای تغییر تغییر دهید که زمانی که توپ ها به یکدیگر برخورد میکنند، توپ کوچکتر منفجر می شود.
تمرین: کلاس توپ ها را به گونه ای تغییر دهید که زمانی که توپ ها به یکدیگر برخورد می کنند، توپ بزرگتر توپ کوچکتر را بلعیده و بزرگتر می شود.
اسلاید 13 :
تمرین
تمرین: برنامه ای بنویسید که صفحه شطرنج با ابعاد مختلف را ایجاد کند.
تمرین: برنامه ای بنویسید که صفحه شطرنج معمولی را ایجاد کرده و مهره های شطرنج را بر روی آن بچیند.
اسلاید 14 :
pygame
رخدادها
تابحال فقط رخداد Exit را مورد استفاده قرار دادیم ولی رخدادهای بسیار زیادی قابل دریافت توسط pygame است. مانند کلیک، حرکت ماوس، فشردن یک کلید، رها کردن یک کلید و .
هر رخداد در pygame، یک شیء از نوع event است که حاوی یک نام و یک دیکشنری است.
این دیکشنری، اطلاعات اضافی درباره رخداد را در خود دارد.
در صورتی که رخدادی دریافت نشده باشد، نام رخداد برابر NOEVENT و دیکشنری آن تهی خواهد بود.
یک رخداد، دستوری است که از جانب کاربر یا سیستم به برنامه در حال اجرا ارسال می شود.
اسلاید 15 :
pygame
مثال: با استفاده از دستور زیر می توان رخدادهای مختلفی را که در جریان اجرای برنامه رخ می دهند، نمایش داد:
اسلاید 16 :
pygame
مثال: استفاده از اطلاعات حرکتی ماوس
اسلاید 17 :
تمرین
تمرین: بازی جنگ ستارگان را بنویسید.
سعی کنید برای هر نوع موجودیتی (سفینه، دشمنان مختلف، گلوله و .) یک کلاس طراحی کنید.