Menu
CoddyTech

Memanggilnya Berkali-kali

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

Panggil fungsi dalam perulangan dan fungsi itu akan menggambar sebuah pola. Perulangan menentukan argumennya, lalu fungsi menggambar:

for i in range(8):
    draw_star(60 + i * 70, 60 + i * 45)

Setiap iterasi berjarak 70 piksel ke kanan dari iterasi sebelumnya dan 45 piksel lebih rendah, sehingga bintang-bintang tersusun dalam satu garis dari (60, 60) hingga (550, 375). Ubah 70 atau 45 dan posisi setiap bintang akan ikut berubah.

Inilah alasan fungsi layak ditulis. Baris-baris untuk menggambar bintang hanya ditulis sekali. Untuk mengubah tampilan semua bintang, misalnya membuat sinar lebih panjang atau mengubah warnanya, ubah isi fungsi, lalu setiap pemanggilan akan menggambar bintang yang baru.

Beri nama fungsi sesuai dengan tugasnya, biasanya dengan kata kerja: draw_star, move_comet, reset_game. Dengan begitu, baris yang memanggilnya terbaca seperti sebuah kalimat.

challenge icon

Tantangan

Mudah

Gambarlah satu baris bintang: ganti pemanggilan tunggal dengan for i in range(8): yang memanggil draw_star(60 + i * 70, 60 + i * 45). 8 bintang membentang dari (60, 60) hingga (550, 375).

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.
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)

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

    # Ubah bagian ini sekali setiap frame.

    screen.fill((20, 24, 48))
    # Gambar di sini, setelah mengisi layar.
    draw_star(60, 60)

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

pygame.quit()
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Python di Jendela Game

Latihan sendiri: Playground Pygame