Dan, Atau
Termasuk bagian Python di Jendela Game dalam perjalanan Pygame di Coddy. Pelajaran 13 dari 32.
or menggabungkan dua kondisi dan bernilai benar jika setidaknya salah satunya benar. and bernilai benar hanya jika keduanya benar.
if keys[pygame.K_LEFT] or keys[pygame.K_a]:
moon_x = moon_x - 4
if keys[pygame.K_RIGHT] and moon_x < 580:
moon_x = moon_x + 4if pertama menggerakkan bulan ke kiri selama tombol Left atau A ditekan: kedua tombol bisa digunakan. if kedua menggerakkannya ke kanan hanya selama tombol Right ditekan dan bulan berada di sebelah kiri x 580, sehingga bulan berhenti sebelum tepi jendela.
not mengubah True menjadi False: not keys[pygame.K_LEFT] bernilai benar saat tombol Left tidak ditekan.
Tantangan
SedangUbah dua pemeriksaan tombol:
- Menahan A juga menggerakkan bulan ke kiri, seperti tombol Left. Gunakan
or. - Tombol Right menggerakkan bulan hanya selama
moon_x < 580, jadi bulan berhenti di x 580. Gunakanand.
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 semuanya 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