Menu
CoddyTech

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

challenge icon

Tantangan

Sedang

Warnai bulan berdasarkan posisinya. Di bagian perubahan, setelah bagian keys:

  1. Jika moon_x < 200, atur colour ke oranye (255, 170, 90).
  2. Elif moon_x < 440, atur ke warna biasanya (240, 230, 160).
  3. Else, atur ke biru (160, 190, 255).
  4. 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