Elif dan Else
Termasuk bagian Python di Jendela Game dalam perjalanan Pygame di Coddy. Pelajaran 12 dari 32.
else memberi if cabang kedua, yang dijalankan saat kondisinya salah. elif, singkatan dari "else if", menambahkan lebih banyak kondisi di antaranya:
if moon_x < 200:
colour = (255, 170, 90)
elif moon_x < 440:
colour = (240, 230, 160)
else:
colour = (160, 190, 255)Python menguji kondisi dari atas, menjalankan cabang pertama yang kondisinya benar, lalu melewati sisanya. Pada x 100, dua kondisi pertama sama-sama benar, tetapi hanya cabang pertama yang dijalankan. else tidak memiliki kondisi: cabang ini dijalankan saat tidak ada kondisi di atas yang benar.
Beberapa if bekerja dengan cara berbeda: masing-masing diuji. Jika ada tiga if, bulan pada x 100 akan berubah menjadi oranye, lalu if kedua akan mengubahnya menjadi kuning lagi.
Di sini, colour adalah variabel yang menyimpan tuple. Gambar dengan variabel ini: pygame.draw.circle(screen, colour, (moon_x, moon_y), 50).
Tantangan
SedangWarnai bulan berdasarkan posisinya. Di bagian perubahan, setelah bagian keys:
- Jika
moon_x < 200, aturcolourke oranye(255, 170, 90). - Elif
moon_x < 440, atur ke warna biasanya(240, 230, 160). - Else, atur ke biru
(160, 190, 255). - Gambar bulan dengan
colour.
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.
moon_x = 320
moon_y = 240
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.
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
moon_x = moon_x - 4
if keys[pygame.K_RIGHT]:
moon_x = moon_x + 4
screen.fill((20, 24, 48))
# Gambar di sini, setelah mengisi layar.
pygame.draw.circle(screen, (240, 230, 160), (moon_x, moon_y), 50)
pygame.display.flip()
clock.tick(60)
pygame.quit()
Semua pelajaran di Python di Jendela Game
Latihan sendiri: Playground Pygame