Elif và else
Thuộc phần Python trong cửa sổ trò chơi trong hành trình Pygame của Coddy. Bài học 13 trên 33.
else thêm một nhánh thứ hai cho if, để xử lý khi điều kiện sai. elif, viết tắt của "else if", thêm nhiều điều kiện hơn vào giữa:
if moon_x < 200:
colour = (255, 170, 90)
elif moon_x < 440:
colour = (240, 230, 160)
else:
colour = (160, 190, 255)Python kiểm tra các điều kiện từ trên xuống, chạy nhánh đầu tiên có điều kiện đúng và bỏ qua những nhánh còn lại. Ở x 100, hai điều kiện đầu tiên đều đúng, nhưng chỉ nhánh đầu tiên chạy. else không có điều kiện: nó chạy khi không có điều kiện nào ở trên đúng.
Các câu lệnh if riêng lẻ hoạt động khác: từng câu lệnh đều được kiểm tra. Với ba câu lệnh if, mặt trăng ở x 100 sẽ chuyển sang màu cam, rồi câu lệnh thứ hai sẽ đổi màu thành vàng.
Ở đây, colour là một biến chứa tuple. Vẽ bằng biến này: pygame.draw.circle(screen, colour, (moon_x, moon_y), 50).
Thử thách
Trung bìnhTô màu mặt trăng theo vị trí của nó.
- Trong phần thay đổi, sau phần xử lý các phím: nếu
moon_x < 200, đặtcolourthành(255, 170, 90). - Nếu không, nếu
moon_x < 440, đặt nó thành(240, 230, 160). Nếu không thì đặt thành(160, 190, 255). - Vẽ mặt trăng bằng
colour.
Nhấn Chơi và giữ các phím mũi tên: mặt trăng chuyển sang màu cam ở bên trái, màu xanh lam ở bên phải. Sau đó nhấn Kiểm tra.
Tự làm thử
import pygame
pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()
# Thiết lập mọi thứ ở đây, trước vòng lặp trò chơi.
moon_x = 320
moon_y = 240
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# Thay đổi mọi thứ ở đây, mỗi khung hình một lần.
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))
# Vẽ ở đây, sau khi tô nền.
pygame.draw.circle(screen, (240, 230, 160), (moon_x, moon_y), 50)
pygame.display.flip()
clock.tick(60)
pygame.quit()
Tất cả bài học trong Python trong cửa sổ trò chơi
1Cửa sổ đầu tiên
Chương trình đầu tiên của bạnIn ra một thông điệpIn ra một sốMàu sắc dưới dạng sốVẽ mặt trăngTự luyện tập: Playground Pygame