/ / Cách triển khai hệ thống sức khỏe trong Python Arcade

Cách triển khai hệ thống sức khỏe trong Python Arcade

Việc thêm hệ thống sức khỏe vào trò chơi arcade của bạn có thể nâng cao trải nghiệm của người chơi và có thể thêm một lớp thử thách và tương tác bổ sung. Bạn có thể tạo trải nghiệm chơi trò chơi nhập vai hơn với màn hình hiển thị sức khỏe của người chơi và cơ chế gây sát thương và hồi máu.




May mắn thay, việc triển khai hệ thống y tế bằng Python bằng thư viện Arcade rất đơn giản và chỉ cần một vài bước.



Tạo một trò chơi đơn giản

Đầu tiên, cài đặt pip trên thiết bị của bạn và sử dụng lệnh bên dưới để cài đặt thư viện arcade:

 pip install arcade 

Sau đó, hãy bắt đầu bằng cách tạo một trò chơi đơn giản bằng thư viện Arcade. Trò chơi này sẽ có một nhân vật người chơi có thể di chuyển sang trái, phải, lên và xuống và một đối tượng kẻ thù gây ra mối đe dọa cho người chơi.

Mã được sử dụng trong bài viết này có sẵn trong kho lưu trữ GitHub này và bạn được sử dụng miễn phí theo giấy phép MIT.

Tạo một tệp mới có tên đơn giản-game.py và thêm đoạn mã dưới đây:

 import arcade


SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600


PLAYER_MOVEMENT_SPEED = 5
white = arcade.color.WHITE
blue = arcade.color.BLUE
red = arcade.color.RED

class GameWindow(arcade.Window):
    def __init__(self, width, height):
        super().__init__(width, height)
        arcade.set_background_color(white)

        
        self.player = arcade.SpriteCircle(30, blue)
        self.enemy = arcade.SpriteCircle(30, red)
        self.player.center_x = 100
        self.player.center_y = 100
        self.enemy.center_x = 400
        self.enemy.center_y = 300

    def on_draw(self):
        arcade.start_render()
        self.player.draw()
        self.enemy.draw()

    def update(self, delta_time):
        pass

    def on_key_press(self, key, modifiers):
        if key == arcade.key.LEFT:
            self.player.center_x -= PLAYER_MOVEMENT_SPEED
        elif key == arcade.key.RIGHT:
            self.player.center_x += PLAYER_MOVEMENT_SPEED
        elif key == arcade.key.UP:
            self.player.center_y += PLAYER_MOVEMENT_SPEED
        elif key == arcade.key.DOWN:
            self.player.center_y -= PLAYER_MOVEMENT_SPEED

def main():
    game = GameWindow(SCREEN_WIDTH, SCREEN_HEIGHT)
    arcade.run()

if __name__ == "__main__":
    main()

Bạn sẽ thấy một cửa sổ chứa hai ký tự, được biểu thị bằng các vòng tròn màu xanh lam và đỏ:

trò chơi arcade đơn giản với hệ thống

Để triển khai hệ thống y tế, hãy xác định các biến và hằng số liên quan đến sức khỏe. Bạn sẽ sử dụng chúng để theo dõi sức khỏe hiện tại của người chơi và xác định các quy tắc gây sát thương và hồi máu. Thêm đoạn mã sau vào bên trong Cửa sổ trò chơi lớp học:

 class GameWindow(arcade.Window):
    def __init__(self, width, height):
        
        
        self.player_health = 100

        
        self.heal_rate = 1

        
        self.heal_timer = 0

    def update(self, delta_time):
        
        
        self.heal_timer += delta_time

        
        if self.heal_timer >= 2:
            self.player_health += self.heal_rate
            self.heal_timer = 0

        
        if self.player_health > 100:
            self.player_health = 100

Thực hiện thiệt hại và cơ chế chữa bệnh

Để thực hiện cơ chế sát thương và hồi máu, phát hiện va chạm giữa người chơi và kẻ thù. Giảm sức khỏe của người chơi khi họ va chạm với kẻ thù và hồi phục sức khỏe của người chơi cứ sau 2 giây khi họ không va chạm. Sửa đổi cập nhật() phương thức và thêm đoạn mã sau:

 class GameWindow(arcade.Window):
    def __init__(self, width, height):
        

    def update(self, delta_time):
        
        if arcade.check_for_collision(self.player, self.enemy):
            self.player_health -= 5

        

Quản lý cái chết của người chơi và kịch bản kết thúc trò chơi

Để quản lý các trường hợp người chơi chết và kết thúc trò chơi, hãy kiểm tra xem sức khỏe của người chơi có bằng 0 hoặc thấp hơn không. Nếu sức khỏe giảm xuống 0, coi như người chơi đã chết và kết thúc trò chơi. Sửa đổi cập nhật() phương pháp với đoạn mã sau:

 class GameWindow(arcade.Window):
    def __init__(self, width, height):
        

    def update(self, delta_time):
        

        
        if self.player_health <= 0:
            
            arcade.close_window()

        

Hình dung thanh sức khỏe

Hình ảnh thể hiện sức khỏe của người chơi có thể nâng cao đáng kể trải nghiệm chơi trò chơi. Tạo một thanh sức khỏe bằng các hình chữ nhật để hiển thị mức độ sức khỏe hiện tại. Tạo một tệp mới có tên sức khỏe-bar.py và thêm mã với các bản cập nhật bên dưới:

 class GameWindow(arcade.Window):
    def __init__(self, width, height):
        

    def on_draw(self):
        arcade.start_render()
        self.player.draw()
        self.enemy.draw()
        gray = arcade.color.LIGHT_GRAY
        green = arcade.color.GREEN

        
        arcade.draw_rectangle_filled(SCREEN_WIDTH // 2, 20,
                                     SCREEN_WIDTH, 20, gray)

        health_width = self.player_health / 100 * SCREEN_WIDTH

        arcade.draw_rectangle_filled(health_width // 2, 20,
                                     health_width, 20, green)

Dưới đây là đầu ra:

trò chơi arcade đơn giản với người chơi, kẻ thù và thanh sức khỏe

Bao gồm các tính năng bổ sung

Bạn có thể tăng cường hơn nữa hệ thống y tế với nhiều tính năng hơn, như những tính năng bên dưới.

Hiển thị số sức khỏe

Ngoài thanh sức khỏe, bạn có thể hiển thị sức khỏe còn lại dưới dạng giá trị số trên màn hình. Điều này cung cấp một dấu hiệu chính xác về tình trạng sức khỏe của người chơi. Thêm đoạn mã sau vào bên trong on_draw() phương pháp:

 
black = arcade.color.BLACK
text = f"Health: {self.player_health}"
arcade.draw_text(text, 10, 10, black, 14)

Tăng cường sức khỏe

Để giới thiệu khả năng tăng cường sức khỏe, bạn có thể tạo các vật thể đặc biệt giúp tăng cường sức khỏe cho người chơi khi họ va chạm với chúng. Đây là một ví dụ về cách bạn có thể triển khai tính năng này:

 
if arcade.check_for_collision(self.player, self.power_up):
    self.player_health += 20

    
    self.power_up.kill()

Các loại kẻ thù đa dạng

Để thêm chiều sâu cho trò chơi của mình, bạn có thể giới thiệu các loại kẻ thù khác nhau gây ra các mức độ sát thương khác nhau cho người chơi. Điều này bổ sung yếu tố chiến lược và cho phép trải nghiệm chơi trò chơi đa dạng hơn. Đây là một triển khai của tính năng này:

 
if arcade.check_for_collision(self.player, self.enemy):
    if self.enemy.type == "weak":
        self.player_health -= 5
    elif self.enemy.type == "strong":
        self.player_health -= 20

Bằng cách kết hợp các tính năng bổ sung này vào việc triển khai hệ thống sức khỏe của mình, bạn có thể tạo ra trải nghiệm chơi trò chơi năng động và thử thách hơn cho người chơi của mình.

Thực hành tốt nhất cho hệ thống y tế

Khi triển khai hệ thống y tế trong trò chơi arcade của bạn, điều quan trọng là phải tuân theo các phương pháp hay nhất để đảm bảo hệ thống hoạt động mạnh mẽ và hiệu quả. Dưới đây là một số thực tiễn tốt nhất cần ghi nhớ:

Biến nó thành mô-đun

Giữ chức năng của hệ thống y tế trong một lớp hoặc mô-đun riêng biệt để duy trì tính mô-đun và dễ dàng tái sử dụng trong các dự án trò chơi khác nhau. Điều này thúc đẩy tổ chức mã và tách các mối quan tâm.

Xác thực đầu vào và các biện pháp bảo vệ

Triển khai xác thực đầu vào để ngăn mã của bạn gán giá trị sức khỏe không hợp lệ. Các biện pháp bảo vệ tương tự sẽ bảo vệ chống lại các giá trị sức khỏe không hợp lệ khi xảy ra hư hỏng hoặc chữa lành.

Cơ chế lưu và tải

Thực hiện cơ chế lưu và tải bao gồm tình trạng sức khỏe của người chơi. Điều này cho phép người chơi tiếp tục trò chơi với tiến độ nguyên vẹn, bao gồm cả sức khỏe của họ, ngay cả sau khi thoát khỏi trò chơi.

Kiểm tra và xử lý lỗi

Kiểm tra kỹ lưỡng việc triển khai Hệ thống Y tế để xác minh tính chính xác và độ tin cậy của nó. Sử dụng các kỹ thuật xử lý lỗi thích hợp để xử lý các trường hợp ngoại lệ và trường hợp cạnh một cách hiệu quả.

Phản hồi về sức khỏe nhất quán

Cung cấp phản hồi nhất quán và rõ ràng cho người chơi về tình trạng sức khỏe của họ. Bạn có thể thêm hiệu ứng âm thanh, tín hiệu hình ảnh hoặc thậm chí là phản hồi xúc giác, đảm bảo rằng người chơi biết tình trạng sức khỏe của họ trong trò chơi và có thể đưa ra quyết định sáng suốt trong quá trình chơi trò chơi.

Bằng cách làm theo các phương pháp hay nhất này, bạn có thể tạo Hệ thống sức khỏe mạnh mẽ và hiệu quả giúp nâng cao trải nghiệm chơi trò chơi điện tử của bạn trong khi vẫn duy trì chất lượng mã và khả năng đọc.

Làm cho trò chơi thú vị hơn với hệ thống sức khỏe

Việc thêm Hệ thống sức khỏe vào trò chơi của bạn có thể nâng cao đáng kể trải nghiệm tổng thể của người chơi. Nó giới thiệu một yếu tố rủi ro và thử thách, làm cho trò chơi trở nên hấp dẫn và bổ ích hơn.

Biểu thị trực quan về sức khỏe cho phép người chơi dễ dàng đánh giá tình trạng hiện tại của họ, tăng khả năng đắm chìm và đưa ra quyết định chiến lược.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *