Bạn có thể tạo các trò chơi đơn giản bằng Python không?

Python là ngôn ngữ linh hoạt nhất và nó có mặt ở hầu hết mọi lĩnh vực bao gồm phát triển Web, Học máy, Trí tuệ nhân tạo, Ứng dụng GUI cũng như Phát triển trò chơi

Python cung cấp một thư viện tích hợp có tên là pygame, được sử dụng để phát triển trò chơi. Khi chúng ta hiểu các khái niệm cơ bản về lập trình Python, chúng ta có thể sử dụng thư viện pygame để tạo các trò chơi có đồ họa hấp dẫn, hoạt ảnh và âm thanh phù hợp

Pygame là một thư viện đa nền tảng được sử dụng để thiết kế trò chơi điện tử. Nó bao gồm đồ họa máy tính và thư viện âm thanh để cung cấp trải nghiệm trò chơi tiêu chuẩn cho người dùng

Nó được phát triển bởi Pete Shinners để thay thế PySDL

Điều kiện tiên quyết cho Pygame

Để học pygame, chúng ta phải hiểu ngôn ngữ lập trình Python

Cài đặt Pygame

Mở terminal dòng lệnh và gõ lệnh sau để cài đặt pygame

Chúng tôi cũng có thể cài đặt nó thông qua IDE. Để biết thêm hướng dẫn cài đặt, hãy truy cập hướng dẫn pygame hoàn chỉnh của chúng tôi [https. //www. javatpoint. com/pygame]. Ở đây bạn sẽ tìm thấy tất cả các giải thích cơ bản về pygame

Ví dụ Pygame đơn giản

Dưới đây là ví dụ sau về việc tạo một cửa sổ pygame đơn giản

đầu ra

Tất cả đồ họa sẽ vẽ trong cửa sổ pygame

Hãy tìm hiểu cú pháp cơ bản của chương trình trên

nhập pygame - Đây là mô-đun cho phép chúng tôi làm việc với tất cả các chức năng của pygame

pygame. init[] - Nó được sử dụng để khởi tạo tất cả các mô-đun cần thiết của pygame

pygame. trưng bày. set_mode[[width, height]] - Dùng để thay đổi kích thước cửa sổ. Nó sẽ trả về đối tượng bề mặt. Đối tượng bề mặt được sử dụng để thực hiện các hoạt động đồ họa

pygame. Sự kiện. get[] - Nó làm trống hàng đợi sự kiện. Nếu chúng ta không gọi nó, các thông báo trên cửa sổ sẽ bắt đầu chồng chất và trò chơi sẽ không phản hồi theo quan điểm của hệ điều hành

pygame. QUIT - Dùng để loại bỏ sự kiện khi ta click vào nút chéo ở góc cửa sổ

pygame. trưng bày. flip[] - Nó được sử dụng để phản ánh mọi cập nhật cho trò chơi. Nếu chúng tôi thực hiện bất kỳ thay đổi nào thì chúng tôi cần gọi màn hình. hàm lật []

Chúng ta có thể vẽ bất kỳ hình dạng nào lên bề mặt pygame bao gồm thêm hình ảnh, phông chữ hấp dẫn. Pygame cung cấp nhiều chức năng tích hợp để vẽ hình dạng hình học lên màn hình. Những hình dạng này là giai đoạn ban đầu để phát triển một trò chơi

Hãy hiểu ví dụ sau về vẽ hình ra màn hình

Ví dụ -

đầu ra

Giải trình -

Trong ví dụ trên, chúng ta đã vẽ các hình khác nhau như hình tam giác, đường thẳng, hình chữ nhật, hình elip, hình tròn, hình cung, hình tròn đầy và hình bầu dục. Chúng tôi đã sử dụng pygame. vẽ chức năng theo hình dạng với các đối số phù hợp

Ví dụ - Phát triển trò chơi rắn sử dụng Pygame

Chương trình -

đầu ra

Nếu con rắn chạm vào chính nó thì nó sẽ kết thúc trò chơi và hiển thị thông báo sau

Chúng ta có thể chơi lại bằng cách nhấp vào nút OK. Chúng tôi có thể thấy điểm của mình trong thiết bị đầu cuối Pycharm [Chúng tôi đã sử dụng Pycharm IDE; bạn có thể sử dụng bất kỳ IDE Python nào]

Sao chép đoạn mã trên và dán nó vào IDE của bạn và tận hưởng. Để hiểu các khái niệm về Pygame, hãy truy cập hướng dẫn đầy đủ về pygame của chúng tôi

Python là một ngôn ngữ nổi bật dành cho những người học lập trình và hoàn hảo cho bất kỳ ai muốn "hoàn thành công việc" và không dành nhiều thời gian cho mã soạn sẵn. Arcade là một thư viện Python để tạo trò chơi điện tử 2D dễ bắt đầu sử dụng và rất có khả năng khi bạn có kinh nghiệm. Trong bài viết này, tôi sẽ giải thích cách bắt đầu sử dụng Python và Arcade để lập trình trò chơi điện tử

Tôi bắt đầu phát triển trên Arcade sau khi dạy học sinh sử dụng thư viện PyGame. Tôi đã dạy trực tiếp bằng PyGame trong gần 10 năm và tôi đã phát triển ProgramArcadeGames. com dạy học trực tuyến. PyGame rất tuyệt, nhưng cuối cùng tôi cảm thấy mình đang lãng phí thời gian khi phải che đậy những lỗi không bao giờ được sửa

Tôi lo lắng về việc dạy những thứ như vòng lặp sự kiện, đó không còn là cách chúng tôi viết mã nữa. Tôi đã có một trong đó tôi giải thích tại sao tọa độ y bị đảo ngược. Bởi vì PyGame hiếm khi được cập nhật và nó dựa trên thư viện SDL 1 cũ, chứ không phải thứ gì đó hiện đại hơn như OpenGL, tôi không có nhiều hy vọng cho tương lai

Thêm tài nguyên Python

  • IDE là gì?
  • bảng ăn gian. Trăn 3. 7 cho người mới bắt đầu
  • Khung GUI Python hàng đầu
  • Tải xuống. 7 thư viện PyPI thiết yếu
  • Nhà phát triển mũ đỏ
  • Nội dung Python mới nhất

Tôi muốn có một thư viện dễ sử dụng hơn, mạnh mẽ hơn và sử dụng một số tính năng mới của Python 3, như trình trang trí và gợi ý kiểu. Trò chơi điện tử là nó. Và đây là cách để bắt đầu

Cài đặt

Arcade, giống như nhiều gói khác, có sẵn thông qua PyPi, nghĩa là bạn có thể cài đặt Arcade bằng lệnh

pip3 install arcade

4 [hoặc lệnh pipenv]. Nếu bạn đã cài đặt Python, bạn có thể mở một dấu nhắc lệnh trên Windows và gõ

pip install arcade

Hoặc trên MacOS và Linux gõ

pip3 install arcade

Để biết hướng dẫn cài đặt chi tiết hơn, bạn có thể tham khảo tài liệu cài đặt Arcade

vẽ đơn giản

Bạn có thể mở một cửa sổ và tạo các bản vẽ đơn giản chỉ với một vài dòng mã. Hãy tạo một ví dụ vẽ mặt cười như hình bên dưới

Hình ảnh của

Kịch bản bên dưới cho thấy cách bạn có thể sử dụng để thực hiện việc này. Lưu ý rằng bạn không cần biết cách sử dụng các lớp hoặc thậm chí định nghĩa các hàm. Lập trình với phản hồi trực quan nhanh chóng rất tốt cho bất kỳ ai muốn bắt đầu học lập trình

import arcade

# Set constants for the screen size
SCREEN_WIDTH = 600
SCREEN_HEIGHT = 600

# Open the window. Set the window title and dimensions [width and height]
arcade.open_window[SCREEN_WIDTH, SCREEN_HEIGHT, "Drawing Example"]

# Set the background color to white.
# For a list of named colors see:
# //arcade.academy/arcade.color.html
# Colors can also be specified in [red, green, blue] format and
# [red, green, blue, alpha] format.
arcade.set_background_color[arcade.color.WHITE]

# Start the render process. This must be done before any drawing commands.
arcade.start_render[]

# Draw the face
x = 300
y = 300
radius = 200
arcade.draw_circle_filled[x, y, radius, arcade.color.YELLOW]

# Draw the right eye
x = 370
y = 350
radius = 20
arcade.draw_circle_filled[x, y, radius, arcade.color.BLACK]

# Draw the left eye
x = 230
y = 350
radius = 20
arcade.draw_circle_filled[x, y, radius, arcade.color.BLACK]

# Draw the smile
x = 300
y = 280
width = 120
height = 100
start_angle = 190
end_angle = 350
arcade.draw_arc_outline[x, y, width, height, arcade.color.BLACK, start_angle, end_angle, 10]

# Finish drawing and display the result
arcade.finish_render[]

# Keep the window open until the user hits the 'close' button
arcade.run[]

Sử dụng chức năng

Tất nhiên, viết mã trong bối cảnh toàn cầu không phải là hình thức tốt. Rất may, việc cải thiện chương trình của bạn bằng cách sử dụng các hàm thật dễ dàng. Ở đây chúng ta có thể thấy một ví dụ vẽ cây thông tại một vị trí [x, y] cụ thể bằng cách sử dụng hàm

def draw_pine_tree[x, y]:
    """ This function draws a pine tree at the specified location. """
   
    # Draw the triangle on top of the trunk.
    # We need three x, y points for the triangle.
    arcade.draw_triangle_filled[x + 40, y,       # Point 1
                                x, y - 100,      # Point 2
                                x + 80, y - 100, # Point 3
                                arcade.color.DARK_GREEN]

    # Draw the trunk
    arcade.draw_lrtb_rectangle_filled[x + 30, x + 50, y - 100, y - 140,
                                      arcade.color.DARK_BROWN]

Để biết ví dụ đầy đủ, hãy xem bản vẽ với các chức năng

Lập trình viên có kinh nghiệm hơn sẽ biết rằng các chương trình đồ họa hiện đại trước tiên tải thông tin bản vẽ vào cạc đồ họa, sau đó yêu cầu cạc đồ họa vẽ nó sau theo lô. Arcade cũng hỗ trợ điều này. Vẽ 10.000 hình chữ nhật riêng lẻ mất khoảng 0. 800 giây. Vẽ chúng theo lô mất ít hơn 0. 001 giây

lớp Cửa sổ

Các chương trình lớn hơn thường sẽ xuất phát từ lớp, hoặc. Điều này cho phép lập trình viên viết mã để xử lý bản vẽ, cập nhật và xử lý đầu vào từ người dùng. Dưới đây là mẫu để bắt đầu một chương trình dựa trên

pip3 install arcade

5

import arcade

SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600


class MyGame[arcade.Window]:
    """ Main application class. """

    def __init__[self, width, height]:
        super[].__init__[width, height]

        arcade.set_background_color[arcade.color.AMAZON]

    def setup[self]:
        # Set up your game here
        pass

    def on_draw[self]:
        """ Render the screen. """
        arcade.start_render[]
        # Your drawing code goes here

    def update[self, delta_time]:
        """ All the logic to move, and the game logic goes here. """
        pass


def main[]:
    game = MyGame[SCREEN_WIDTH, SCREEN_HEIGHT]
    game.setup[]
    arcade.run[]


if __name__ == "__main__":
    main[]

Lớp

pip3 install arcade

5 có một số phương thức mà chương trình của bạn có thể ghi đè để cung cấp chức năng cho chương trình. Dưới đây là một số cái được sử dụng phổ biến nhất

  • pip3 install arcade

    7. Tất cả các mã để vẽ màn hình ở đây
  • pip3 install arcade

    8. Tất cả mã để di chuyển vật phẩm của bạn và thực hiện logic trò chơi ở đây. Điều này được gọi là khoảng 60 lần mỗi giây
  • pip3 install arcade

    9. Xử lý các sự kiện khi một phím được nhấn, chẳng hạn như cho người chơi tốc độ
  • import arcade

    # Set constants for the screen size
    SCREEN_WIDTH = 600
    SCREEN_HEIGHT = 600

    # Open the window. Set the window title and dimensions [width and height]
    arcade.open_window[SCREEN_WIDTH, SCREEN_HEIGHT, "Drawing Example"]

    # Set the background color to white.
    # For a list of named colors see:
    # //arcade.academy/arcade.color.html
    # Colors can also be specified in [red, green, blue] format and
    # [red, green, blue, alpha] format.
    arcade.set_background_color[arcade.color.WHITE]

    # Start the render process. This must be done before any drawing commands.
    arcade.start_render[]

    # Draw the face
    x = 300
    y = 300
    radius = 200
    arcade.draw_circle_filled[x, y, radius, arcade.color.YELLOW]

    # Draw the right eye
    x = 370
    y = 350
    radius = 20
    arcade.draw_circle_filled[x, y, radius, arcade.color.BLACK]

    # Draw the left eye
    x = 230
    y = 350
    radius = 20
    arcade.draw_circle_filled[x, y, radius, arcade.color.BLACK]

    # Draw the smile
    x = 300
    y = 280
    width = 120
    height = 100
    start_angle = 190
    end_angle = 350
    arcade.draw_arc_outline[x, y, width, height, arcade.color.BLACK, start_angle, end_angle, 10]

    # Finish drawing and display the result
    arcade.finish_render[]

    # Keep the window open until the user hits the 'close' button
    arcade.run[]

    0. Xử lý khi nhả phím, ở đây bạn có thể ngăn người chơi di chuyển
  • import arcade

    # Set constants for the screen size
    SCREEN_WIDTH = 600
    SCREEN_HEIGHT = 600

    # Open the window. Set the window title and dimensions [width and height]
    arcade.open_window[SCREEN_WIDTH, SCREEN_HEIGHT, "Drawing Example"]

    # Set the background color to white.
    # For a list of named colors see:
    # //arcade.academy/arcade.color.html
    # Colors can also be specified in [red, green, blue] format and
    # [red, green, blue, alpha] format.
    arcade.set_background_color[arcade.color.WHITE]

    # Start the render process. This must be done before any drawing commands.
    arcade.start_render[]

    # Draw the face
    x = 300
    y = 300
    radius = 200
    arcade.draw_circle_filled[x, y, radius, arcade.color.YELLOW]

    # Draw the right eye
    x = 370
    y = 350
    radius = 20
    arcade.draw_circle_filled[x, y, radius, arcade.color.BLACK]

    # Draw the left eye
    x = 230
    y = 350
    radius = 20
    arcade.draw_circle_filled[x, y, radius, arcade.color.BLACK]

    # Draw the smile
    x = 300
    y = 280
    width = 120
    height = 100
    start_angle = 190
    end_angle = 350
    arcade.draw_arc_outline[x, y, width, height, arcade.color.BLACK, start_angle, end_angle, 10]

    # Finish drawing and display the result
    arcade.finish_render[]

    # Keep the window open until the user hits the 'close' button
    arcade.run[]

    1. Điều này được gọi mỗi khi chuột di chuyển
  • import arcade

    # Set constants for the screen size
    SCREEN_WIDTH = 600
    SCREEN_HEIGHT = 600

    # Open the window. Set the window title and dimensions [width and height]
    arcade.open_window[SCREEN_WIDTH, SCREEN_HEIGHT, "Drawing Example"]

    # Set the background color to white.
    # For a list of named colors see:
    # //arcade.academy/arcade.color.html
    # Colors can also be specified in [red, green, blue] format and
    # [red, green, blue, alpha] format.
    arcade.set_background_color[arcade.color.WHITE]

    # Start the render process. This must be done before any drawing commands.
    arcade.start_render[]

    # Draw the face
    x = 300
    y = 300
    radius = 200
    arcade.draw_circle_filled[x, y, radius, arcade.color.YELLOW]

    # Draw the right eye
    x = 370
    y = 350
    radius = 20
    arcade.draw_circle_filled[x, y, radius, arcade.color.BLACK]

    # Draw the left eye
    x = 230
    y = 350
    radius = 20
    arcade.draw_circle_filled[x, y, radius, arcade.color.BLACK]

    # Draw the smile
    x = 300
    y = 280
    width = 120
    height = 100
    start_angle = 190
    end_angle = 350
    arcade.draw_arc_outline[x, y, width, height, arcade.color.BLACK, start_angle, end_angle, 10]

    # Finish drawing and display the result
    arcade.finish_render[]

    # Keep the window open until the user hits the 'close' button
    arcade.run[]

    2. Được gọi khi nhấn nút chuột
  • import arcade

    # Set constants for the screen size
    SCREEN_WIDTH = 600
    SCREEN_HEIGHT = 600

    # Open the window. Set the window title and dimensions [width and height]
    arcade.open_window[SCREEN_WIDTH, SCREEN_HEIGHT, "Drawing Example"]

    # Set the background color to white.
    # For a list of named colors see:
    # //arcade.academy/arcade.color.html
    # Colors can also be specified in [red, green, blue] format and
    # [red, green, blue, alpha] format.
    arcade.set_background_color[arcade.color.WHITE]

    # Start the render process. This must be done before any drawing commands.
    arcade.start_render[]

    # Draw the face
    x = 300
    y = 300
    radius = 200
    arcade.draw_circle_filled[x, y, radius, arcade.color.YELLOW]

    # Draw the right eye
    x = 370
    y = 350
    radius = 20
    arcade.draw_circle_filled[x, y, radius, arcade.color.BLACK]

    # Draw the left eye
    x = 230
    y = 350
    radius = 20
    arcade.draw_circle_filled[x, y, radius, arcade.color.BLACK]

    # Draw the smile
    x = 300
    y = 280
    width = 120
    height = 100
    start_angle = 190
    end_angle = 350
    arcade.draw_arc_outline[x, y, width, height, arcade.color.BLACK, start_angle, end_angle, 10]

    # Finish drawing and display the result
    arcade.finish_render[]

    # Keep the window open until the user hits the 'close' button
    arcade.run[]

    3. Chức năng này được sử dụng trong các trò chơi cuộn, khi bạn có một thế giới lớn hơn nhiều so với những gì có thể nhìn thấy trên một màn hình. Gọi

    import arcade

    # Set constants for the screen size
    SCREEN_WIDTH = 600
    SCREEN_HEIGHT = 600

    # Open the window. Set the window title and dimensions [width and height]
    arcade.open_window[SCREEN_WIDTH, SCREEN_HEIGHT, "Drawing Example"]

    # Set the background color to white.
    # For a list of named colors see:
    # //arcade.academy/arcade.color.html
    # Colors can also be specified in [red, green, blue] format and
    # [red, green, blue, alpha] format.
    arcade.set_background_color[arcade.color.WHITE]

    # Start the render process. This must be done before any drawing commands.
    arcade.start_render[]

    # Draw the face
    x = 300
    y = 300
    radius = 200
    arcade.draw_circle_filled[x, y, radius, arcade.color.YELLOW]

    # Draw the right eye
    x = 370
    y = 350
    radius = 20
    arcade.draw_circle_filled[x, y, radius, arcade.color.BLACK]

    # Draw the left eye
    x = 230
    y = 350
    radius = 20
    arcade.draw_circle_filled[x, y, radius, arcade.color.BLACK]

    # Draw the smile
    x = 300
    y = 280
    width = 120
    height = 100
    start_angle = 190
    end_angle = 350
    arcade.draw_arc_outline[x, y, width, height, arcade.color.BLACK, start_angle, end_angle, 10]

    # Finish drawing and display the result
    arcade.finish_render[]

    # Keep the window open until the user hits the 'close' button
    arcade.run[]

    3 cho phép lập trình viên đặt phần nào của thế giới đó hiện đang hiển thị

yêu tinh

Sprites là một cách dễ dàng để tạo đối tượng bitmap 2D trong Arcade. Arcade có các phương pháp giúp bạn dễ dàng vẽ, di chuyển và tạo hoạt ảnh cho các nhân vật. Bạn cũng có thể dễ dàng sử dụng sprite để phát hiện va chạm giữa các đối tượng

Tạo một nhân vật

Tạo một thể hiện của lớp Arcade từ đồ họa thật dễ dàng. Một lập trình viên chỉ cần tên tệp của một hình ảnh để tạo cơ sở cho sprite và tùy chọn một số để phóng to hoặc thu nhỏ hình ảnh. Ví dụ

pip install arcade

6

Mã này sẽ tạo một sprite sử dụng hình ảnh được lưu trữ trong

import arcade

# Set constants for the screen size
SCREEN_WIDTH = 600
SCREEN_HEIGHT = 600

# Open the window. Set the window title and dimensions [width and height]
arcade.open_window[SCREEN_WIDTH, SCREEN_HEIGHT, "Drawing Example"]

# Set the background color to white.
# For a list of named colors see:
# //arcade.academy/arcade.color.html
# Colors can also be specified in [red, green, blue] format and
# [red, green, blue, alpha] format.
arcade.set_background_color[arcade.color.WHITE]

# Start the render process. This must be done before any drawing commands.
arcade.start_render[]

# Draw the face
x = 300
y = 300
radius = 200
arcade.draw_circle_filled[x, y, radius, arcade.color.YELLOW]

# Draw the right eye
x = 370
y = 350
radius = 20
arcade.draw_circle_filled[x, y, radius, arcade.color.BLACK]

# Draw the left eye
x = 230
y = 350
radius = 20
arcade.draw_circle_filled[x, y, radius, arcade.color.BLACK]

# Draw the smile
x = 300
y = 280
width = 120
height = 100
start_angle = 190
end_angle = 350
arcade.draw_arc_outline[x, y, width, height, arcade.color.BLACK, start_angle, end_angle, 10]

# Finish drawing and display the result
arcade.finish_render[]

# Keep the window open until the user hits the 'close' button
arcade.run[]

5. Hình ảnh sẽ được thu nhỏ lại bằng 20% ​​chiều cao và chiều rộng ban đầu

danh sách ma

Sprites thường được tổ chức thành danh sách. Các danh sách này giúp quản lý các họa tiết dễ dàng hơn. Các họa tiết trong danh sách sẽ sử dụng OpenGL để vẽ hàng loạt các họa tiết theo nhóm. Đoạn mã dưới đây thiết lập một trò chơi với một người chơi và một loạt tiền xu để người chơi thu thập. Chúng tôi sử dụng hai danh sách, một cho người chơi và một cho tiền xu

pip install arcade

8

Chúng ta có thể dễ dàng rút tất cả các đồng tiền trong danh sách tiền xu

pip install arcade

9

Phát hiện va chạm sprite

Hàm

import arcade

# Set constants for the screen size
SCREEN_WIDTH = 600
SCREEN_HEIGHT = 600

# Open the window. Set the window title and dimensions [width and height]
arcade.open_window[SCREEN_WIDTH, SCREEN_HEIGHT, "Drawing Example"]

# Set the background color to white.
# For a list of named colors see:
# //arcade.academy/arcade.color.html
# Colors can also be specified in [red, green, blue] format and
# [red, green, blue, alpha] format.
arcade.set_background_color[arcade.color.WHITE]

# Start the render process. This must be done before any drawing commands.
arcade.start_render[]

# Draw the face
x = 300
y = 300
radius = 200
arcade.draw_circle_filled[x, y, radius, arcade.color.YELLOW]

# Draw the right eye
x = 370
y = 350
radius = 20
arcade.draw_circle_filled[x, y, radius, arcade.color.BLACK]

# Draw the left eye
x = 230
y = 350
radius = 20
arcade.draw_circle_filled[x, y, radius, arcade.color.BLACK]

# Draw the smile
x = 300
y = 280
width = 120
height = 100
start_angle = 190
end_angle = 350
arcade.draw_arc_outline[x, y, width, height, arcade.color.BLACK, start_angle, end_angle, 10]

# Finish drawing and display the result
arcade.finish_render[]

# Keep the window open until the user hits the 'close' button
arcade.run[]

6 cho phép chúng ta xem liệu một nhân vật có chạy vào một nhân vật khác trong danh sách hay không. Chúng ta có thể sử dụng điều này để xem tất cả các đồng xu mà người chơi sprite tiếp xúc với. Sử dụng vòng lặp

import arcade

# Set constants for the screen size
SCREEN_WIDTH = 600
SCREEN_HEIGHT = 600

# Open the window. Set the window title and dimensions [width and height]
arcade.open_window[SCREEN_WIDTH, SCREEN_HEIGHT, "Drawing Example"]

# Set the background color to white.
# For a list of named colors see:
# //arcade.academy/arcade.color.html
# Colors can also be specified in [red, green, blue] format and
# [red, green, blue, alpha] format.
arcade.set_background_color[arcade.color.WHITE]

# Start the render process. This must be done before any drawing commands.
arcade.start_render[]

# Draw the face
x = 300
y = 300
radius = 200
arcade.draw_circle_filled[x, y, radius, arcade.color.YELLOW]

# Draw the right eye
x = 370
y = 350
radius = 20
arcade.draw_circle_filled[x, y, radius, arcade.color.BLACK]

# Draw the left eye
x = 230
y = 350
radius = 20
arcade.draw_circle_filled[x, y, radius, arcade.color.BLACK]

# Draw the smile
x = 300
y = 280
width = 120
height = 100
start_angle = 190
end_angle = 350
arcade.draw_arc_outline[x, y, width, height, arcade.color.BLACK, start_angle, end_angle, 10]

# Finish drawing and display the result
arcade.finish_render[]

# Keep the window open until the user hits the 'close' button
arcade.run[]

7 đơn giản, chúng ta có thể loại bỏ đồng xu khỏi trò chơi và tăng điểm số của mình

pip3 install arcade

2

Để biết ví dụ đầy đủ, hãy xem coll_coins. py

trò chơi vật lý

Nhiều trò chơi bao gồm một số loại vật lý. Đơn giản nhất là các chương trình từ trên xuống ngăn người chơi đi xuyên tường. Nền tảng thêm phức tạp hơn với trọng lực và nền tảng di chuyển. Một số trò chơi sử dụng công cụ vật lý 2D đầy đủ với khối lượng, ma sát, lò xo, v.v.

Trò chơi từ trên xuống

Đối với các trò chơi dựa trên góc nhìn từ trên xuống đơn giản, chương trình Arcade cần có danh sách các bức tường mà người chơi [hoặc bất kỳ thứ gì khác] không thể di chuyển qua. Tôi thường gọi đây là

import arcade

# Set constants for the screen size
SCREEN_WIDTH = 600
SCREEN_HEIGHT = 600

# Open the window. Set the window title and dimensions [width and height]
arcade.open_window[SCREEN_WIDTH, SCREEN_HEIGHT, "Drawing Example"]

# Set the background color to white.
# For a list of named colors see:
# //arcade.academy/arcade.color.html
# Colors can also be specified in [red, green, blue] format and
# [red, green, blue, alpha] format.
arcade.set_background_color[arcade.color.WHITE]

# Start the render process. This must be done before any drawing commands.
arcade.start_render[]

# Draw the face
x = 300
y = 300
radius = 200
arcade.draw_circle_filled[x, y, radius, arcade.color.YELLOW]

# Draw the right eye
x = 370
y = 350
radius = 20
arcade.draw_circle_filled[x, y, radius, arcade.color.BLACK]

# Draw the left eye
x = 230
y = 350
radius = 20
arcade.draw_circle_filled[x, y, radius, arcade.color.BLACK]

# Draw the smile
x = 300
y = 280
width = 120
height = 100
start_angle = 190
end_angle = 350
arcade.draw_arc_outline[x, y, width, height, arcade.color.BLACK, start_angle, end_angle, 10]

# Finish drawing and display the result
arcade.finish_render[]

# Keep the window open until the user hits the 'close' button
arcade.run[]

8. Sau đó, một công cụ vật lý được tạo trong mã thiết lập của lớp

pip3 install arcade

5 với

pip3 install arcade

5

def draw_pine_tree[x, y]:
    """ This function draws a pine tree at the specified location. """
   
    # Draw the triangle on top of the trunk.
    # We need three x, y points for the triangle.
    arcade.draw_triangle_filled[x + 40, y,       # Point 1
                                x, y - 100,      # Point 2
                                x + 80, y - 100, # Point 3
                                arcade.color.DARK_GREEN]

    # Draw the trunk
    arcade.draw_lrtb_rectangle_filled[x + 30, x + 50, y - 100, y - 140,
                                      arcade.color.DARK_BROWN]

0 được cung cấp một vectơ chuyển động với hai thuộc tính của nó là

def draw_pine_tree[x, y]:
    """ This function draws a pine tree at the specified location. """
   
    # Draw the triangle on top of the trunk.
    # We need three x, y points for the triangle.
    arcade.draw_triangle_filled[x + 40, y,       # Point 1
                                x, y - 100,      # Point 2
                                x + 80, y - 100, # Point 3
                                arcade.color.DARK_GREEN]

    # Draw the trunk
    arcade.draw_lrtb_rectangle_filled[x + 30, x + 50, y - 100, y - 140,
                                      arcade.color.DARK_BROWN]

1 và

def draw_pine_tree[x, y]:
    """ This function draws a pine tree at the specified location. """
   
    # Draw the triangle on top of the trunk.
    # We need three x, y points for the triangle.
    arcade.draw_triangle_filled[x + 40, y,       # Point 1
                                x, y - 100,      # Point 2
                                x + 80, y - 100, # Point 3
                                arcade.color.DARK_GREEN]

    # Draw the trunk
    arcade.draw_lrtb_rectangle_filled[x + 30, x + 50, y - 100, y - 140,
                                      arcade.color.DARK_BROWN]

2. Một ví dụ đơn giản về cách làm này là để người chơi di chuyển bằng bàn phím. Ví dụ: đây có thể là con tùy chỉnh của lớp

pip3 install arcade

5

pip3 install arcade

0

Mặc dù mã đó đặt tốc độ của trình phát, nhưng nó không di chuyển trình phát. Trong phương pháp ________ 08 của lớp ________ 05, gọi ________ 46 sẽ di chuyển người chơi, nhưng không xuyên qua tường

pip3 install arcade

1

Để biết ví dụ đầy đủ, hãy xem sprite_move_walls. py

platformer

Di chuyển sang nền tảng xem bên khá dễ dàng. Một lập trình viên chỉ cần chuyển công cụ vật lý sang

def draw_pine_tree[x, y]:
    """ This function draws a pine tree at the specified location. """
   
    # Draw the triangle on top of the trunk.
    # We need three x, y points for the triangle.
    arcade.draw_triangle_filled[x + 40, y,       # Point 1
                                x, y - 100,      # Point 2
                                x + 80, y - 100, # Point 3
                                arcade.color.DARK_GREEN]

    # Draw the trunk
    arcade.draw_lrtb_rectangle_filled[x + 30, x + 50, y - 100, y - 140,
                                      arcade.color.DARK_BROWN]

7 và thêm vào hằng số trọng lực

pip3 install arcade

2

Bạn có thể sử dụng một chương trình như Xếp gạch để xếp các ô/khối tạo nên cấp độ của bạn

Ví dụ, xem sprite_tiled_map. py

Đối với vật lý 2D đầy đủ, bạn có thể tích hợp thư viện

Học bằng ví dụ

Một trong những cách học tốt nhất là lấy ví dụ. Thư viện Arcade có một danh sách dài các chương trình ví dụ mà một người có thể sử dụng để tạo trò chơi. Mỗi ví dụ này cho thấy một khái niệm trò chơi mà học sinh đã yêu cầu trong các lớp học của tôi hoặc trực tuyến trong những năm qua

Chạy bất kỳ bản demo nào trong số này thật dễ dàng khi Arcade đã được cài đặt. Mỗi mẫu đều có chú thích ở đầu chương trình bằng lệnh bạn có thể gõ trên dòng lệnh để chạy mẫu chẳng hạn

pip3 install arcade

3

Tóm lược

Arcade cho phép bạn bắt đầu lập trình đồ họa và trò chơi bằng mã dễ hiểu. Nhiều lập trình viên mới đã tạo ra những trò chơi tuyệt vời không lâu sau khi bắt đầu. Hãy thử một lần

Để tìm hiểu thêm, hãy tham dự buổi nói chuyện của Paul Vincent Craven, Tạo trò chơi 2D dễ dàng với Arcade, tại PyCon Cleveland 2018

Đọc gì tiếp theo

thẻ

PyCon

con trăn

lập trình

Paul Vincent Craven

Paul Craven là tác giả của "Program Arcade Games with Python and Pygame", một tài nguyên trực tuyến và bản in để học lập trình. Anh ấy là người duy trì chính của thư viện trò chơi Arcade Python cho đồ họa 2D. Paul cũng là giáo sư tại Simpson College ở Iowa

Thêm về tôi

5 bình luận

Những bình luận này đã bị đóng, tuy nhiên bạn có thể Đăng ký hoặc Đăng nhập để đăng bình luận về một bài viết khác

Châu. 25 Tháng Tư, 2018

Đăng ký hoặc Đăng nhập để thích

Tuyệt vời cho cuộc thi trò chơi mã nguồn mở

Một vài bit ngắn của một từ. 29 Tháng Tư, 2018

Đăng ký hoặc Đăng nhập để thích

Tl;dr. khi thay thế PyGame, bạn đã xoay sở để thực hiện chính xác cùng một lỗi cốt lõi và khiến việc khởi động và chạy thư viện của bạn trở nên quá khó chịu, ít nhất là theo cách mà tôi nghĩ là hợp lý [chắc chắn là chủ quan]

Đầu tiên. Trăn 3. 6 là một nỗi đau vì nó quá mới, hầu hết các bản phân phối thậm chí còn chưa bao gồm 3. bất cứ điều gì nhưng ít nhất nhận được 3. 5. x lên và chạy khá dễ dàng trên hầu hết các bản phân phối theo như tôi biết, nhưng 3. 6. ?

Bạn không giúp chính mình. Đây là hình ảnh phản chiếu hoàn hảo của PyGame không hỗ trợ bất cứ thứ gì Python mà mọi người đã có. Trong PyGame, đó là vì PyGame đã cũ [và bị hỏng] và trong Arcade là do Python quá mới. Cùng một sự khác biệt. Được rồi nếu bạn chạy trong môi trường chuyên dụng, v.v. nhưng không dành cho những người bình thường ở nhà muốn xem qua và tham gia ngay với chi phí tối thiểu

Vấn đề thứ hai. pip, nó vẫn là một vấn đề bảo mật hoàn toàn mở và không được xem xét theo báo cáo hàng năm từ cơ quan tình báo Séc đó phải không?

Python bị mất cốt truyện với pip. Đó không phải lỗi của bạn

Xin lỗi vì những vấn đề tiêu cực như vậy chẳng là gì ngoài nhận xét lái xe sử dụng địa chỉ thư không bao giờ được đọc [vì Google là ác quỷ] nhưng ai đó nên chỉ ra những điều này và mọi người thường không làm vậy, vì vậy tôi đã có lần thúc giục mình . com và bình luận

Bất chấp tất cả những gì thư viện thực tế của bạn trông thú vị, thật tệ, tôi cảm thấy mệt mỏi với những cái vòng

Paul Vincent Craven. 29 Tháng Tư, 2018

Đăng ký hoặc Đăng nhập để thích

Bạn nói đúng 3. 6 thật khó để thiết lập và chạy với một số bản phân phối Linux. Với Windows, MacOS và Ubuntu, đây sẽ là phiên bản mặc định cho những người thực hiện cài đặt gần đây. Không nhiều với Linux Mint hoặc một số cái khác. Tôi sẽ suy nghĩ về nhận xét của bạn một cách nghiêm túc. Tôi khá thích định dạng in mới, nhưng nó không được sử dụng nhiều trong mã

Nếu bạn không thích pip, hãy cài đặt Arcade bằng cách thiết lập. py. Tôi không chắc chắn những gì bạn đang tìm kiếm ở đây

Python có tốt cho các trò chơi đơn giản không?

Do đó, Python cũng là một ngôn ngữ lý tưởng để bạn bắt đầu cuộc phiêu lưu tạo trò chơi , bất kể bạn đã thông thạo ngôn ngữ này hay chưa. . Do cú pháp thân thiện với người mới của Python, các nhà phát triển có thể tập trung vào những kiến ​​thức cơ bản về lập trình trò chơi, chứ không phải sự phức tạp của chính ngôn ngữ này.

Có thể tạo trò chơi bằng Python không?

Tạo trò chơi máy tính của riêng bạn bằng Python là một cách tuyệt vời để học ngôn ngữ này . Để xây dựng trò chơi, bạn sẽ cần sử dụng nhiều kỹ năng lập trình cốt lõi. Các loại kỹ năng mà bạn sẽ thấy trong lập trình thực tế.

Trò chơi nào dễ tạo nhất bằng Python?

Bây giờ, hãy triển khai một số trò chơi đơn giản trong Python mà bạn có thể xây dựng khi mới bắt đầu để bắt đầu quá trình học tập của mình. .
Trò chơi đố vui trong Python. Đây là một trò chơi dựa trên văn bản rất đơn giản trong python. .
Trò chơi Pong trong Python. Hầu hết chúng ta đã nghe nói về trò chơi bóng bàn nổi tiếng. .
Trò chơi rắn đói trong Python

Bạn có thể xây dựng trò chơi nào bằng Python?

Bạn có thể sử dụng Python để tạo trò chơi điện tử, trò chơi phiêu lưu và trò chơi giải đố mà bạn có thể triển khai trong vài giờ. Bạn cũng có thể viết mã các trò chơi cổ điển, chẳng hạn như treo cổ, tic-tac-toe, oẳn tù tì, v.v. bằng kỹ năng lập trình mới học được của mình.

Chủ Đề