Menu
CoddyTech

Parametreler

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

Her zaman (320, 240) konumuna çizim yapan bir işlev pek kullanışlı değildir. Parametreler, işlevi çağıranın seçim yapmasını sağlar. Parametreleri def sözcüğünün parantezleri içinde adlandırın ve gövdede değişkenler gibi kullanın:

def draw_star(x, y):
    pygame.draw.line(screen, (255, 240, 200), (x - 10, y), (x + 10, y), 2)
    pygame.draw.line(screen, (255, 240, 200), (x, y - 10), (x, y + 10), 2)
    pygame.draw.circle(screen, (255, 240, 200), (x, y), 4)

Her çağrı aynı sırayla değerler, yani argümanlar gönderir: draw_star(120, 100), gövdeyi x 120 ve y 100 değerleriyle çalıştırır. draw_star(520, 90) gövdeyi farklı değerlerle yeniden çalıştırır. Tek bir tanım, çağırdığınız kadar yıldız.

Parametreler yalnızca işlev çalışırken işlevin içinde vardır. Dışarıda, x ve y hiçbir şey ifade etmez ya da bu adlarla orada sakladığınız değerleri ifade eder.

challenge icon

Görev

Orta

Yıldızın yerini çağıranın belirlemesini sağlayın:

  1. Tanımı def draw_star(x, y): olarak değiştirin ve (x, y) çevresine çizin: x - 10 ile x + 10 arasındaki çizgileri ve y - 10 ile y + 10 arasındaki çizgileri, noktayı (x, y) konumuna yerleştirin.
  2. Üç kez çağırın: (120, 100), (320, 180) ve (520, 90) konumlarında.

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.
def draw_star():
    pygame.draw.line(screen, (255, 240, 200), (310, 240), (330, 240), 2)
    pygame.draw.line(screen, (255, 240, 200), (320, 230), (320, 250), 2)
    pygame.draw.circle(screen, (255, 240, 200), (320, 240), 4)

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 çizim yap.
    draw_star()

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

pygame.quit()

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

Kendi başına pratik yap: Pygame playground