Menu
CoddyTech

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 + 4

if đầ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.

challenge icon

Thử thách

Trung bình

Thay đổi hai phép kiểm tra phím.

  1. 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.
  2. Phím mũi tên phải chỉ di chuyển mặt trăng khi moon_x < 580. Dùng and.

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

Tự luyện tập: Playground Pygame