And, or
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 14 trên 33.
or kết hợp hai điều kiện và cho kết quả đúng khi ít nhất một trong hai điều kiện đúng. and chỉ cho kết quả đúng khi cả hai điều kiện đều đúng.
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 đầu tiên di chuyển mặt trăng sang trái khi bạn nhấn giữ phím Left hoặc A: phím nào cũng được. Câu lệnh thứ hai chỉ di chuyển mặt trăng sang phải khi bạn nhấn giữ phím Right và mặt trăng ở bên trái vị trí x 580, vì vậy nó dừng lại trước mép cửa sổ.
not biến True thành False: not keys[pygame.K_LEFT] cho kết quả đúng khi bạn nhả phím Left.
Thử thách
Trung bìnhThay đổi hai phép kiểm tra phím.
- Giữ phím A cũng di chuyển mặt trăng sang trái, giống như phím mũi tên trái. Dùng
or. - Phím mũi tên phải chỉ di chuyển mặt trăng khi
moon_x < 580. Dùngand.
Nhấn Chơi: phím A di chuyển mặt trăng sang trái, còn phím mũi tên phải dừng mặt trăng tại x 580. 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