Menu
CoddyTech

List Bintang

Termasuk bagian Python di Jendela Game dalam perjalanan Pygame di Coddy. Pelajaran 24 dari 32.

Sebuah list menyimpan banyak nilai dalam satu variabel, secara berurutan, di dalam tanda kurung siku:

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

Di sini, setiap item adalah tuple posisi. stars[0] adalah item pertama, yaitu (100, 80), dan stars[1] adalah item kedua. Penghitungan dimulai dari 0, seperti pada range.

for loop dapat menelusuri list. Variabel loop mengambil setiap item secara bergiliran:

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

Posisi adalah tuple, jadi star langsung digunakan di tempat yang diisi oleh pusat lingkaran. Tambahkan posisi ke list, maka satu bintang lagi akan muncul tanpa perlu mengubah loop. List adalah ingatan game tentang apa yang ada di layar. Loop menggambar apa pun yang tersimpan di dalamnya.

challenge icon

Tantangan

Mudah

Gambar langit dengan lima bintang dari sebuah list:

  1. Tambahkan (360, 100), (480, 200) dan (580, 70) ke akhir stars.
  2. Ganti baris yang menggambar stars[0] dengan for star in stars:, lalu gambar setiap bintang sebagai lingkaran putih (255, 255, 255) dengan radius 5.

Coba sendiri

import pygame

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

# Siapkan semuanya di sini, sebelum perulangan game.
stars = [(100, 80), (220, 160)]

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

    # Ubah yang perlu di sini, sekali setiap frame.

    screen.fill((20, 24, 48))
    # Gambar di sini, setelah mengisi layar.
    pygame.draw.circle(screen, (255, 255, 255), stars[0], 5)

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

pygame.quit()

Semua pelajaran di Python di Jendela Game

Latihan sendiri: Playground Pygame