Menu
CoddyTech

Bắt đầu trò chơi

Thuộc phần Dự án trong hành trình Pygame của Coddy. Bài học 32 trên 33.

Bạn đã làm đủ mọi thể loại game trong hành trình này: khối rơi, game bắn súng không gian, game chạy vô tận, game đi cảnh, Snake, Pong và game ngục tối. Giờ hãy tự tạo game của riêng bạn. Tất cả đều theo cùng một kế hoạch:

  1. Một cửa sổ và vòng lặp game: xử lý sự kiện, cập nhật, vẽ, lật màn hình, đánh dấu nhịp.
  2. Thứ gì đó mà người chơi di chuyển bằng các phím.
  3. Thứ gì đó tự di chuyển: khối rơi, quả bóng, con rắn, con slime.
  4. Một quy tắc kết thúc game: va chạm, điểm số, đồng hồ đếm giờ.
  5. Văn bản cho người chơi biết mình đang chơi thế nào.

Hãy chọn một ý tưởng. Một con tàu vũ trụ né các tiểu hành tinh. Một chiếc ô tô chạy giữa các làn đường. Một con mèo bắt cá. Bạn có thể dùng toàn bộ công cụ mình có: hình ảnh từ assets/images, âm thanh và nhạc, trạng thái game, bản đồ văn bản cho từng màn chơi. Các hình khối cũng dùng được: một hình chữ nhật có thể trở thành bất cứ thứ gì nếu nó di chuyển giống thứ đó.

Bài học này gồm bước 1 và 2. Ví dụ trong thẻ Lời giải là Rock Dodge, một game nhỏ được vẽ bằng các hình khối, trong đó một thanh đỡ màu xanh dương né những tảng đá rơi xuống.

challenge icon

Thử thách

Dễ

Bắt đầu tạo trò chơi của riêng bạn.

  1. Đặt tiêu đề và kích thước cửa sổ trò chơi tối thiểu là 320 x 240.
  2. Thêm một nhân vật mà các phím mũi tên có thể di chuyển, giữ nhân vật bên trong cửa sổ: dùng ảnh từ assets/images hoặc một hình dạng.
  3. Giữ vòng lặp kết thúc khi cửa sổ đóng.

Nhấn Chơi và giữ một phím mũi tên: nhân vật sẽ di chuyển. Sau đó nhấn Kiểm tra.

Tự làm thử

import pygame

pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("My Game")
clock = pygame.time.Clock()

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

    screen.fill((30, 30, 46))
    pygame.display.flip()
    clock.tick(60)

pygame.quit()

Tất cả bài học trong Dự án

Tự luyện tập: Playground Pygame