True hay false
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 15 trên 33.
True và False là các giá trị riêng, gọi là giá trị boolean. Một biến có thể lưu một giá trị như vậy, giống như công tắc:
lamp_on = FalseCâu lệnh if có thể kiểm tra trực tiếp: if lamp_on: sẽ chạy khi biến này có giá trị True. not đảo ngược giá trị, vì vậy lamp_on = not lamp_on sẽ bật hoặc tắt đèn.
Công tắc cần một lần nhấn phím, không phải giữ phím. get_pressed() trả về True ở mọi khung hình khi phím đang được nhấn, nên nó sẽ bật tắt đèn 60 lần mỗi giây. Một lần nhấn được ghi nhận một lần dưới dạng sự kiện KEYDOWN, trong vòng lặp sự kiện ở đầu vòng lặp trò chơi:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
if event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE:
lamp_on = not lamp_onPhần 2 giải thích đầy đủ về sự kiện. Trước mắt, event.type cho biết điều gì đã xảy ra, còn event.key cho biết phím nào.
Thử thách
Trung bìnhNhấn Space để bật và tắt đèn.
- Trong phần thiết lập, đặt
lamp_on = False. - Trong vòng lặp sự kiện, khi có sự kiện
KEYDOWNvớiK_SPACE, đặtlamp_on = not lamp_on. - Vẽ ánh sáng tại
(320, 290), bán kính 30:(255, 220, 100)khilamp_onlà True, nếu không thì dùng(70, 70, 90).
Nhấn Chơi rồi nhấn phím Space: đèn sẽ bật và tắt. 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 (loop) trò chơi.
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.
screen.fill((20, 24, 48))
# Vẽ ở đây, sau khi tô nền.
pygame.draw.rect(screen, (90, 90, 110), (310, 300, 20, 180))
pygame.draw.circle(screen, (70, 70, 90), (320, 290), 30)
pygame.display.flip()
clock.tick(60)
pygame.quit()
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
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