Python thường được coi là một ngôn ngữ lập trình tuyệt vời. Pygame Zero là một điểm khởi đầu rất tốt cho các lập trình viên Python mới mong muốn sáng tạo hơn là dành thời gian viết các hàm soạn sẵn.
Pygame Zero là gì?
Pygame Zero được tạo ra để cung cấp trải nghiệm lập trình game dễ dàng hơn cho các lập trình viên Python mới. Nó loại bỏ việc phải viết lại mã phổ biến cơ bản nhất để bạn có thể tập trung vào việc tạo ra các game tuyệt vời.
Sử dụng Pygame Zero, bạn có thể thử nghiệm các họa tiết hình ảnh và thiết kế game của mình mà không phải lo lắng quá nhiều về các chi tiết cấp thấp.
Cài đặt Pygame Zero
Các bản phân phối Linux và bản phát hành macOS đời mới hơn đi kèm với Python.
Trước tiên, hãy xác nhận phiên bản Python của bạn:
python3 --version
Nếu bạn đã cài đặt Python 3, lệnh này sẽ in phiên bản chính xác trên dòng lệnh (command line):
Tiếp theo, cài đặt trình cài đặt gói Python – PIP – sử dụng một trong hai lệnh sau hoặc phương pháp cài đặt PIP thay thế:
apt install python3-pip # Debian
dnf install python3-pip # Fedora
Khi đã cài đặt PIP, tiến hành cài đặt Pygame Zero:
pip3 install pgzero
Quá trình sẽ giống như sau:
Với Pygame Zero được cài đặt, bạn có thể bắt đầu viết game.
Tạo game Với Pygame Zero
Có rất nhiều hướng dẫn, kho lưu trữ và trò chơi mẫu tuyệt vời để bạn học hỏi hoặc xây dựng dựa trên đó.
Kho lưu trữ Pygame GitHub có một số ví dụ tuyệt vời về trò chơi cổ điển để giúp bạn bắt đầu. Dùng một trò chơi cổ điển như Pong, Tetris, Mines hoặc Tron để tìm hiểu về cách làm việc với Pygame Zero.
Để bắt đầu với Pygame Zero, hãy tải xuống dự án tối thiểu này từ GitHub. Code Python được ghi lại rõ ràng và tệp README.md giải thích các yếu tố phụ thuộc mà bạn cần.
Hãy xem intro.py và bạn sẽ thấy một số hàm phổ biến sẽ giúp bạn làm quen với Pygame Zero.
Tổng quan về hàm
Bạn có thể tải một sprite bằng cách chuyển phần chính của tên tệp của nó tới lớp Actor. Ví dụ: để tải tệp images/alien.png:
alien = Actor('alien')
Hàm draw() cho máy tính biết cần vẽ gì trên màn hình. Với các họa tiết, âm thanh và code trong cấu trúc thư mục chính xác, bạn sẽ không phải mất nhiều thời gian cho các cú pháp bổ sung. Ví dụ: bạn có thể hiển thị sprite ngoài hành tinh (alien) như sau:
def draw():
screen.clear()
alien.draw()
Bạn có thể dùng hàm update() để di chuyển các họa tiết:
def update():
alien.left += 2
if alien.left > WIDTH:
alien.right = 0
Pygame sẽ gọi hàm update() trên mọi khung hình. Đoạn code này yêu cầu máy tính dịch chuyển sprite sang bên phải cho đến khi nó ra khỏi mép màn hình. Tại thời điểm đó, nó đặt lại vị trí sang phía bên trái. Quá trình này lặp lại cho đến khi bạn đóng cửa sổ hoặc nhấn CTRL + C trong terminal để kết thúc chương trình.
Bạn có thể sử dụng hàm on_mouse_down() để kiểm tra cú nhấp chuột ở cùng vị trí với sprite ngoài hành tinh. In ra câu trả lời phù hợp và thay đổi sprite ngoài hành tinh để hiển thị hình ảnh alien_hurt.png.
Giờ thì bạn đã có một trò chơi bắn mục tiêu đơn giản nhưng đầy đủ chức năng. Chạy code bằng lệnh pgzrun intro.py. Hãy nhớ nhấp vào sprite ngoài hành tinh của bạn để nhận phản hồi:
Cảm hứng sáng tạo
Dưới đây là một số ý tưởng để khơi nguồn cảm hứng sáng tạo để giúp bạn bắt đầu.
Paperchase
Nền tảng 2D với các tính năng lạ mắt
Hướng dẫn chuyên sâu này kéo dài khoảng hai giờ và là một hướng dẫn tuyệt vời khi bạn đã sẵn sàng để mở rộng ra bên ngoài những kiến thức cơ bản về lập trình game.
Thử thách bản thân với game
Để nâng cao kỹ năng Python, hãy thử lập trình một số trò chơi cơ bản với Pygame Zero.
Có rất nhiều tài nguyên tuyệt vời từ tài liệu về Pygame đến hướng dẫn trên YouTube để giúp bạn trong hành trình viết mã Pygame của mình.
Sau khi bạn đã hoàn thiện các kỹ năng Python và Pygame của mình, hãy cân nhắc đóng góp cho chính dự án nguồn mở đó. Bạn có thể thấy thông tin chi tiết trong kho lưu trữ Pygame Zero GitHub.
Vân Nguyễn
Dịch từ: https://www.makeuseof.com/pygame-zero-game-development-easy/
Bình luận (0
)