Menu
CoddyTech

Mengulang dengan for

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

for loop mengulang baris-barisnya, satu kali untuk setiap nilai yang diberikan:

for i in range(8):
    pygame.draw.circle(screen, (255, 255, 255), (40 + i * 80, 80), 5)

range(8) memberikan angka 0, 1, 2, dan seterusnya hingga 7: delapan angka, dimulai dari 0 dan berhenti sebelum 8. Perulangan menyimpan setiap angka secara bergantian di i dan menjalankan baris-baris yang diindentasi. Jadi, bintang pertama berada di x 40, berikutnya di 120, lalu 200, hingga 600.

Baris-baris yang diindentasi adalah badan loop, seperti pada if. Baris pertama setelah badan, yang kembali ke indentasi luar, dijalankan setelah loop selesai.

Loop ini berada di bagian gambar dari loop game, jadi kedelapan bintang digambar lagi pada setiap frame. Loop ini singkat dan langsung selesai, jadi frame tetap berakhir tepat waktu.

i adalah nama umum untuk variabel penghitung, tetapi nama apa pun bisa digunakan: for n in range(8): menghitung dengan cara yang sama.

challenge icon

Tantangan

Mudah

Ganti satu bintang dengan perulangan for menggunakan range(8) yang menggambar 8 bintang putih dengan radius 5 pada (40 + i * 80, 80).

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.

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

    # Ubah bagian ini di setiap frame.

    screen.fill((20, 24, 48))
    # Gambar di sini, setelah fill.
    pygame.draw.circle(screen, (255, 255, 255), (40, 80), 5)

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

pygame.quit()

Semua pelajaran di Python di Jendela Game

Latihan sendiri: Playground Pygame