برنامه نویسی ترم نهم
| نام دوره آموزشی | زبان برنامه نویسی آموزشی | مدت | شهریه (ریال) |
|---|---|---|---|
| برنامه نویسی ترم نهم | Pygame | 15 جلسه (1/5 ساعته) : 30 ساعت | 80.000.000 |
رئوس مطالب
هفته اول:
جلسه ۱: مقدمات و نصب
- نصب Pygame، ساختار اولیه یک برنامه.
- توابع :
- pygame.init()
- pygame.display.set_mode()
- pygame.display.flip()
- pygame.quit()
جلسه ۲: حلقه اصلی بازی و مدیریت رویدادها
- مفهوم Event Loop، بستن پنجره.
- توابع :
- pygame.event.get()
- pygame.QUIT()
- pygame.time.Clock()
- clock.tick()
جلسه ۳: ترسیم اشکال هندسی و رنگها
- مختصات در Pygame، ترسیم مستطیل و دایره و خط.
- توابع :
- pygame.Color()
- pygame.draw.rect()
- pygame.draw.circle()
- pygame.draw.line()
هفته دوم:
جلسه ۴: کار با تصاویر (Sprites)
- بارگذاری، نمایش و تغییر سایز تصاویر.
- توابع :
- pygame.image.load()
- screen.blit()
- pygame.transform.scale()
جلسه ۵: مدیریت ورودیهای صفحهکلید
- حرکت دادن اشیاء با کلیدهای جهتنما.
- توابع :
- pygame.key.get_pressed()
- pygame.K_LEFT/RIGHT/UP/DOWN()
جلسه ۶: مدیریت ورودیهای ماوس
- تشخیص کلیک و موقعیت ماوس.
- توابع :
- pygame.mouse.get_pos()
- pygame.mouse.get_pressed()
- pygame.MOUSEBUTTONDOWN()
هفته سوم:
جلسه ۷: کلاس Sprite و گروهبندی
- مدیریت هوشمند اشیای بازی.
- توابع :
- pygame.sprite.Sprite()
- pygame.sprite.Group()
- group.update()
- group.draw()
جلسه ۸: تشخیص برخورد (Collision Detection)
- برخورد بین اشیاء (مستطیلی و دایرهای).
- توابع :
- sprite.rect()
- pygame.sprite.collide_rect()
- pygame.sprite.spritecollide()
جلسه ۹: متن و فونت در بازی
- نمایش امتیاز و پیامهای بازی.
- توابع :
- pygame.font.SysFont()
- font.render()
هفته چهارم:
جلسه ۱۰: صدا و موسیقی
- افزودن جلوههای صوتی و موزیک پسزمینه.
- توابع :
- pygame.mixer.init()
- pygame.mixer.Sound()
- pygame.mixer.music.load()
- music.play()
جلسه ۱۱: پیادهسازی فیزیک ساده (جاذبه و پرش)
- تغییر موقعیت بر اساس سرعت و شتاب (بدون کتابخانههای جانبی).
جلسه ۱۲: مدیریت صحنهها (Menu, Game, Game Over)
- ساختار شرطی برای تغییر وضعیت بازی.
هفته پنجم:
جلسه ۱۳: زمانبندی و رویدادهای سفارشی
- ساخت تایمر داخلی بازی.
- توابع :
- pygame.time.set_timer()
- pygame.USEREVENT()
جلسه ۱۴: جمعبندی و رفع اشکال پروژه
- یکپارچهسازی تمام بخشها (تصویر، صدا، کنترل، برخورد).
جلسه ۱۵: خروجی گرفتن و بهینهسازی
- تکنیکهای بهینهسازی FPS و نحوه تبدیل به فایل اجرایی (استفاده از PyInstaller )