Menu
CoddyTech

Hai thanh đỡ

Bài học 31 trên 41 trong khóa học Tạo trò chơi với Pygame của Coddy.

Hai người chơi dùng chung một bàn phím. Người chơi bên trái dùng W và S, người chơi bên phải dùng phím mũi tên lên và xuống. Mỗi thanh chắn là một Rect chỉ di chuyển lên xuống.

left = pygame.Rect(20, 160, 12, 80)
right = pygame.Rect(568, 160, 12, 80)

Các phím chữ cái có dạng pygame.K_w, pygame.K_s và tương tự, viết thường. Đọc trạng thái cả bốn phím từ một lần gọi pygame.key.get_pressed(), để cả hai người chơi có thể giữ phím cùng lúc.

Giữ cả hai thanh chắn trong cửa sổ bằng clamp_ip, như bạn đã làm với chiếc giỏ.

challenge icon

Thử thách

Dễ

Thêm một thanh đỡ cho mỗi người chơi.

  1. Trước vòng lặp, tạo left = pygame.Rect(20, 160, 12, 80) và right = pygame.Rect(568, 160, 12, 80).
  2. Di chuyển left lên hoặc xuống 6 pixel bằng W và S, và di chuyển right bằng phím lên và xuống. Giữ cả hai trong cửa sổ.
  3. Vẽ left màu xanh dương (80, 160, 255) và right màu đỏ (235, 80, 80).

Nhấn Chơi rồi nhấn W và phím lên: cả hai thanh đỡ đều di chuyển. Sau đó nhấn Kiểm tra.

Tự làm thử

import pygame

pygame.init()
screen = pygame.display.set_mode((600, 400))
pygame.display.set_caption("Pong")
clock = pygame.time.Clock()

ball = pygame.Rect(293, 193, 14, 14)
vx, vy = 5, 4

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    ball.x += vx
    ball.y += vy
    if ball.top <= 0 or ball.bottom >= 400:
        vy = -vy

    screen.fill((30, 30, 46))
    pygame.draw.rect(screen, (255, 196, 0), ball)
    pygame.display.flip()
    clock.tick(60)

pygame.quit()

Tất cả bài học trong Tạo trò chơi với Pygame

Tự luyện tập: Playground Pygame