- Hướng dẫn Pong 1: Bắt đầu
- Hướng dẫn Pong 2: Thêm mái chèo
- Hướng dẫn Pong 3: Kiểm soát mái chèo
- Hướng dẫn Pong 4: Thêm một quả bóng nảy
- Hướng dẫn Pong 5: Thêm hệ thống tính điểm
- Thêm: Pygame Làm thế nào để đến với?
Pong là một trong những trò chơi video arcade sớm nhất, lần đầu tiên phát hành vào năm 1972 bởi Atari. Đây là một trò chơi hai người chơi dựa trên bóng bàn. Trò chơi có đồ họa 2D đơn giản. Nó bao gồm hai mái chèo được sử dụng để trả lại một quả bóng nảy qua lại trên màn hình. Điểm số được giữ bởi các số ở đầu màn hình.
Trong hướng dẫn này, chúng tôi sẽ tái tạo một trò chơi Pong bằng Python và Thư viện Pygame. Thư viện Pygame là thư viện hoàn hảo để xây dựng các trò chơi arcade 2D cơ bản và bắt đầu phát triển các kỹ năng OOP của bạn. [Lập trình hướng đối tượng]
Bước 1: Nhập và khởi tạo Thư viện Pygame
Mã Python của bạn sẽ cần bắt đầu với hai dòng mã sau:
# Nhập thư viện pygame và khởi tạo công cụ trò chơi EMPREPPYGAMEpygame pygame.init[].init[] |
Bước 2: Xác định màu bạn sẽ sử dụng trong trò chơi của mình
Bạn sẽ phải khai báo một hằng số cho từng màu chính được sử dụng trong trò chơi của bạn. Để giúp bạn xác định mã màu, bạn có thể sử dụng bộ chọn màu. Pong là một trò chơi rất cơ bản và chỉ sử dụng hai màu: đen và trắng.
# Xác định một số màu BLACK=[0,0,0]=[0,0,0] WHITE=[255,255,255]=[255,255,255] |
Bước 3: Mở cửa sổ mới
Trò chơi của bạn sẽ chạy trong cửa sổ riêng của nó, mà bạn có thể quyết định một tiêu đề, chiều rộng và chiều cao.
# Mở cửa sổ mới size=[700,500]=[700,500] screen=pygame.display.set_mode[size]=pygame.display.set_mode[size] pygame.display.set_caption["Pong"].display.set_caption["Pong"] |
Bước 4: Vòng lặp chương trình chính
Vòng lặp chương trình chính là trình bao bọc chính cho trò chơi của bạn.
Vòng lặp chương trình chính sẽ chứa 3 phần chính:
- Bắt các sự kiện: Được sử dụng để liên tục lắng nghe các đầu vào của người dùng và phản ứng với những điều này. Nó có thể là khi người dùng sử dụng bàn phím hoặc chuột.
- Thực hiện logic trò chơi. Điều gì xảy ra khi trò chơi đang chạy? Những chiếc xe đang tiến về phía trước, người ngoài hành tinh rơi xuống từ bầu trời, ma đuổi theo bạn, v.v.
- Làm mới màn hình bằng cách vẽ lại sân khấu và các sprites.
Vòng lặp chương trình chính cũng sẽ sử dụng tốc độ khung hình để quyết định tần suất chương trình hoàn thành vòng lặp [và làm mới màn hình] mỗi giây. Để thực hiện điều này, chúng tôi sẽ sử dụng đối tượng đồng hồ từ thư viện pygame.
Vòng lặp chương trình chính sẽ sử dụng bộ hẹn giờ để quyết định số lần nó sẽ được thực hiện mỗi giây.
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | # Nhập thư viện pygame và khởi tạo công cụ trò chơi EMPREPPYGAMEpygame pygame.init[].init[] # Xác định một số màu BLACK=[0,0,0]=[0,0,0] WHITE=[255,255,255]= [255,255,255] # Mở cửa sổ mới size=[700,500]=[700,500] screen=pygame.display.set_mode[size]=pygame.display.set_mode[size] pygame.display.set_caption["Pong"].display.set_caption["Pong"] Bước 4: Vòng lặp chương trình chính carryOn=True=True Vòng lặp chương trình chính là trình bao bọc chính cho trò chơi của bạn. clock=pygame.time.Clock[]= pygame.time.Clock[] Vòng lặp chương trình chính sẽ chứa 3 phần chính: whilecarryOn:carryOn: Bắt các sự kiện: Được sử dụng để liên tục lắng nghe các đầu vào của người dùng và phản ứng với những điều này. Nó có thể là khi người dùng sử dụng bàn phím hoặc chuột.# --- Main event loop Thực hiện logic trò chơi. Điều gì xảy ra khi trò chơi đang chạy? Những chiếc xe đang tiến về phía trước, người ngoài hành tinh rơi xuống từ bầu trời, ma đuổi theo bạn, v.v.forevent in pygame.event.get[]:# User did something Làm mới màn hình bằng cách vẽ lại sân khấu và các sprites.ifevent.type==pygame.QUIT:# If user clicked close Vòng lặp chương trình chính cũng sẽ sử dụng tốc độ khung hình để quyết định tần suất chương trình hoàn thành vòng lặp [và làm mới màn hình] mỗi giây. Để thực hiện điều này, chúng tôi sẽ sử dụng đối tượng đồng hồ từ thư viện pygame.carryOn =False# Flag that we are done so we exit this loop Vòng lặp chương trình chính sẽ sử dụng bộ hẹn giờ để quyết định số lần nó sẽ được thực hiện mỗi giây.# --- Game logic should go here # Vòng lặp sẽ tiếp tục cho đến khi người dùng thoát khỏi trò chơi [ví dụ: nhấp vào nút Đóng].# --- Drawing code should go here # Đồng hồ sẽ được sử dụng để kiểm soát tốc độ cập nhật màn hình# First, clear the screen to black. screen.fill[BLACK]screen.fill[BLACK] # -------- Vòng lặp chương trình chính -----------#Draw the net pygame.draw.line[screen,WHITE,[349,0],[349,500],5]pygame.draw.line[screen,WHITE,[349,0],[349, 500],5] & nbsp; & nbsp; & nbsp; & nbsp;# --- vòng lặp sự kiện chính# --- Go ahead and update the screen with what we've drawn. pygame.display.flip[]pygame.display.flip[] & nbsp; & nbsp; & nbsp; & nbsp; forevent inpygame.event.get []:# Người dùng đã làm điều gì đó# --- Limit to 60 frames per second clock.tick[60]clock.tick[60] & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; pygame.quit[].quit[] |
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;
& nbsp; & nbsp; & nbsp; & nbsp;# --- logic trò chơi nên đến đây
Pong Tutorial using Pygame:Adding the Paddles