Menu
CoddyTech

Yıldızların Listesi

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

Bir liste, birçok değeri tek bir değişkende, sıralı olarak ve köşeli parantezler içinde tutar:

stars = [(100, 80), (220, 160), (360, 100)]

Burada her öğe bir konum demetidir. stars[0] ilk öğe olan (100, 80), stars[1] ise ikinci öğedir. range ifadesinde olduğu gibi sayma 0'dan başlar.

for döngüsü bir listedeki öğeler üzerinde dolaşabilir. Döngü değişkeni sırayla her öğeyi alır:

for star in stars:
    pygame.draw.circle(screen, (255, 255, 255), star, 5)

Bir konum demet olduğundan, star doğrudan merkezin olması gereken yere geçer. Listeye bir konum ekle; döngüyü değiştirmeden bir yıldız daha görünür. Liste, ekranda ne olduğunu oyunun belleğinde tutar; döngü de listede ne varsa onu çizer.

challenge icon

Görev

Kolay

Bir listeden beş yıldızlı bir gökyüzü çiz:

  1. (360, 100), (480, 200) ve (580, 70) değerlerini stars listesinin sonuna ekle.
  2. stars[0] öğesini çizen satırı for star in stars: ile değiştir ve her birini yarıçapı 5 olan beyaz bir (255, 255, 255) daire olarak çiz.

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.
stars = [(100, 80), (220, 160)]

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

    # Her karede değişiklikleri burada yap.

    screen.fill((20, 24, 48))
    # Ekranı doldurduktan sonra burada çizim yap.
    pygame.draw.circle(screen, (255, 255, 255), stars[0], 5)

    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