Menu
CoddyTech

Hàm của riêng bạn

Thuộc phần Python trong cửa sổ trò chơi trong hành trình Pygame của Coddy. Bài học 21 trên 33.

Một hàm là nhóm dòng lệnh có tên mà bạn có thể chạy bất cứ khi nào muốn. def tạo ra một hàm:

def draw_star():
    pygame.draw.line(screen, (255, 240, 200), (310, 240), (330, 240), 2)
    pygame.draw.line(screen, (255, 240, 200), (320, 230), (320, 250), 2)
    pygame.draw.circle(screen, (255, 240, 200), (320, 240), 4)

def, tên hàm, dấu ngoặc đơn và dấu hai chấm; phần thân hàm được thụt lề bên dưới. Định nghĩa hàm không vẽ gì cả: Python chỉ ghi nhớ các dòng lệnh bên dưới tên hàm.

Để chạy các dòng lệnh đó, hãy gọi hàm: viết tên hàm kèm dấu ngoặc đơn.

draw_star()

Định nghĩa các hàm trong phần thiết lập, trước vòng lặp trò chơi, rồi gọi chúng trong vòng lặp tại nơi bạn cần. Bạn đã gọi hàm từ bài học đầu tiên: print() và pygame.draw.circle() cũng là các hàm do người khác viết.

pygame.draw.line(screen, colour, start, end, width) vẽ một đường thẳng nối hai điểm.

challenge icon

Thử thách

Trung bình

Đặt ngôi sao vào một hàm (function).

  1. Trong phần thiết lập, tạo def draw_star(): rồi chuyển ba dòng vẽ ngôi sao vào phần thân hàm.
  2. Trong phần vẽ, gọi draw_star().

Nhấn Chơi: ngôi sao vẫn xuất hiện ở giữa. Sau đó nhấn Kiểm tra.

Tự làm thử

import pygame

pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()

# Thiết lập mọi thứ ở đây, trước vòng lặp trò chơi.

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

    # Thay đổi mọi thứ ở đây, mỗi khung hình một lần.

    screen.fill((20, 24, 48))
    # Vẽ ở đây, sau khi tô màu nền.
    pygame.draw.line(screen, (255, 240, 200), (310, 240), (330, 240), 2)
    pygame.draw.line(screen, (255, 240, 200), (320, 230), (320, 250), 2)
    pygame.draw.circle(screen, (255, 240, 200), (320, 240), 4)

    pygame.display.flip()
    clock.tick(60)

pygame.quit()

Tất cả bài học trong Python trong cửa sổ trò chơi

Tự luyện tập: Playground Pygame