Menu
CoddyTech

İç İçe Döngü

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

Bir döngünün gövdesinde başka bir döngü bulunabilir. İç döngü, dış döngünün her yinelemesinde baştan sona çalışır:

for row in range(4):
    for col in range(8):
        x = 130 + col * 50
        y = 210 + row * 60
        pygame.draw.rect(screen, (255, 210, 90), (x, y, 20, 20))

row 0 olduğunda iç döngü üst kısım boyunca 8 pencere çizer. Ardından row 1 olur ve iç döngü 60 piksel aşağıya 8 pencere daha çizer. Dört sıra sekiz pencere, toplam 32 pencere eder. Bir ızgara her zaman bu şekildedir: satırlar için bir döngü, sütunlar için bir döngü.

pygame.draw.rect(screen, colour, (x, y, width, height)), sol üst köşesi (x, y) konumunda olan içi dolu bir dikdörtgen çizer.

for, dıştakinin altında girintilidir ve gövdesi bir kez daha girintilidir; dış döngüye göre 8 boşluk içeridedir.

challenge icon

Görev

Orta

Tüm binayı aydınlat:

  1. Pencere döngüsünü for row in range(4): içine al.
  2. y = 210 + row * 60 değerini ayarla; böylece satırlar y koordinatında 210, 270, 330 ve 390 konumlarında olur.
  3. 8 pencereden oluşan 4 satırla toplam 32 penceren olur.

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 hazırlıkları 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 çizimleri burada yap.
    pygame.draw.rect(screen, (40, 44, 70), (100, 180, 440, 300))
    for col in range(8):
        x = 130 + col * 50
        y = 210
        pygame.draw.rect(screen, (255, 210, 90), (x, y, 20, 20))

    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