Menu
CoddyTech

len ile Say

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

len(stars), listenin kaç öğe içerdiğini gösterir. Boş bir listenin uzunluğu 0'dır. Bunu bir sayı göstermek için kullan:

text = font.render(f"Stars: {len(stars)}", True, (230, 230, 240))

Bir f-string, süslü parantezlerinin içinde bir çağrı da dâhil olmak üzere herhangi bir ifade içerebilir.

len bir sınır belirlemek için de kullanılabilir. Yalnızca yer olduğu sürece bir yıldız ekle:

if event.type == pygame.MOUSEBUTTONDOWN and len(stars) < 10:
    stars.append(event.pos)

Liste 10 yıldız içerdiğinde koşul yanlış olur, bu yüzden tıklamalar hiçbir şey yapmaz. Ekrandaki sayı ve sınır aynı listeyi okur, bu nedenle her zaman birbiriyle uyumludur.

Sınır, olay döngüsünde tıklama testiyle and kullanılarak birleştirilmiştir: ekleme yalnızca olay bir tıklamaysa ve yer varsa çalışır. len dizeler üzerinde de çalışır: len("Night") 5'tir.

challenge icon

Görev

Orta

Yıldızları say ve ona kadar dur:

  1. Kurulum bölümünde font = pygame.font.Font(None, 36) yap.
  2. Çizim bölümünde, (20, 20) konumunda (230, 230, 240) renginde f"Stars: {len(stars)}" göster.
  3. Yalnızca len(stars) < 10 koşulu sağlanırken tıklamayla bir yıldız ekle.

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 = []

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

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

    screen.fill((20, 24, 48))
    # Ekranı doldurduktan sonra burada çizim yap.
    for star in stars:
        pygame.draw.circle(screen, (255, 255, 255), star, 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