Perulangan di Dalam Perulangan
Termasuk bagian Python di Jendela Game dalam perjalanan Pygame di Coddy. Pelajaran 18 dari 32.
Badan perulangan dapat berisi perulangan lain. Perulangan bagian dalam berjalan sampai selesai pada setiap putaran perulangan bagian luar:
for row in range(4):
for col in range(8):
x = 130 + col * 50
y = 210 + row * 60
pygame.draw.rect(screen, (255, 210, 90), (x, y, 20, 20))Untuk row 0, perulangan bagian dalam menggambar 8 jendela di sepanjang bagian atas. Lalu row menjadi 1 dan perulangan bagian dalam menggambar 8 jendela lagi, 60 piksel lebih rendah. Empat baris yang masing-masing berisi delapan jendela menghasilkan 32 jendela. Grid selalu memiliki bentuk seperti ini: satu perulangan untuk baris, satu untuk kolom.
pygame.draw.rect(screen, colour, (x, y, width, height)) menggambar persegi panjang berisi dengan sudut kiri atas di (x, y).
Perhatikan indentasinya: for bagian dalam diindentasi di bawah bagian luar, lalu badannya diindentasi lagi, 8 spasi dari perulangan bagian luar.
Tantangan
SedangTerangi seluruh gedung:
- Bungkus perulangan jendela dengan
for row in range(4):. - Tetapkan
y = 210 + row * 60, sehingga baris-barisnya berada pada y 210, 270, 330, dan 390. - Kamu mendapatkan 32 jendela: 4 baris yang masing-masing terdiri dari 8 jendela.
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 hal-hal di sini, sekali setiap frame.
screen.fill((20, 24, 48))
# Gambar di sini, setelah pengisian.
pygame.draw.rect(screen, (40, 44, 70), (100, 180, 440, 300))
for col in range(8):
x = 130 + col * 50
y = 210
pygame.draw.rect(screen, (255, 210, 90), (x, y, 20, 20))
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