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.
Tantangan
MudahGanti 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
4Perulangan untuk Menggambar
Mengulang dengan forMulai, Berhenti, dan LangkahGunakan Variabel PerulanganPerulangan di Dalam PerulanganMenghitung dengan whileLatihan sendiri: Playground Pygame