Menu
CoddyTech

Doğru mu Yanlış mı

Coddy'nin Pygame Journey'sinin Oyun Penceresinde Python bölümünün bir parçası. Ders 14 / 32.

True ve False, kendilerine özgü değerlerdir ve boolean olarak adlandırılırlar. Bir değişken, bir anahtar gibi bu değerlerden birini tutabilir:

lamp_on = False

Bir if bunu doğrudan sınayabilir: if lamp_on:, değişken True değerini tuttuğunda çalışır. not değeri tersine çevirir; yani lamp_on = not lamp_on lambayı açıp kapatır.

Bir anahtarın çalışması için tuşun basılı tutulması değil, tuşa basılması gerekir. Tuş basılıyken get_pressed() her karede True döndürür, bu da lambanın saniyede 60 kez açılıp kapanmasına neden olurdu. Tuşa basılması, oyun döngüsünün başındaki olay döngüsünde KEYDOWN olayı olarak bir kez gerçekleşir:

for event in pygame.event.get():
    if event.type == pygame.QUIT:
        running = False
    if event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE:
        lamp_on = not lamp_on

Bölüm 2, olayları ayrıntılı olarak açıklar. Şimdilik: event.type ne olduğunu, event.key ise hangi tuş olduğunu belirtir.

challenge icon

Görev

Orta

Boşluk tuşunun lambayı değiştirmesini sağlayın:

  1. Kurulum bölümünde lamp_on = False yapın.
  2. Olay döngüsünde, K_SPACE için bir KEYDOWN olayı geldiğinde lamp_on = not lamp_on olarak ayarlayın.
  3. Işığı (320, 290) konumunda, yarıçapı 30 olacak şekilde çizin: lamp_on True olduğunda (255, 220, 100), aksi takdirde (70, 70, 90).

Kendin dene

import pygame

pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()

# Oyun döngüsünden önce gerekli ayarları burada yap.

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

    # Her karede bir kez değişiklikleri burada yap.

    screen.fill((20, 24, 48))
    # Ekranı doldurduktan sonra burada çiz.
    pygame.draw.rect(screen, (90, 90, 110), (310, 300, 20, 180))
    pygame.draw.circle(screen, (70, 70, 90), (320, 290), 30)

    pygame.display.flip()
    clock.tick(60)

pygame.quit()
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Oyun Penceresinde Python bölümündeki tüm dersler

Kendi başına pratik yap: Pygame playground