Menu
CoddyTech

Parametry

Część sekcji Python w oknie gry ścieżki Pygame w Coddy. Lekcja 21 z 32.

Funkcja, która zawsze rysuje w punkcie (320, 240), jest mało przydatna. Parametry pozwalają wywołującemu wybrać położenie. Nazwij je w nawiasach def i używaj ich w ciele funkcji jak zmiennych:

def draw_star(x, y):
    pygame.draw.line(screen, (255, 240, 200), (x - 10, y), (x + 10, y), 2)
    pygame.draw.line(screen, (255, 240, 200), (x, y - 10), (x, y + 10), 2)
    pygame.draw.circle(screen, (255, 240, 200), (x, y), 4)

Każde wywołanie przekazuje wartości, czyli argumenty, w tej samej kolejności: draw_star(120, 100) wykonuje ciało funkcji z x równym 120 i y równym 100. draw_star(520, 90) wykonuje je ponownie z innymi wartościami. Jedna definicja i tyle gwiazd, ile razy wywołasz funkcję.

Parametry istnieją tylko wewnątrz funkcji podczas jej działania. Poza nią x i y nic nie znaczą albo oznaczają to, co zostało zapisane pod tymi nazwami.

challenge icon

Wyzwanie

Średni

Pozwól wywołującemu umieścić gwiazdę:

  1. Zmień definicję na def draw_star(x, y): i rysuj wokół (x, y): linie od x - 10 do x + 10 oraz od y - 10 do y + 10, kropkę w punkcie (x, y).
  2. Wywołaj ją trzy razy: w punktach (120, 100), (320, 180) i (520, 90).

Spróbuj swoich sił

import pygame

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

# Przygotuj wszystko tutaj, przed pętlą gry.
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)

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

    # Wprowadzaj zmiany tutaj, raz na klatkę.

    screen.fill((20, 24, 48))
    # Rysuj tutaj, po wypełnieniu ekranu.
    draw_star()

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

pygame.quit()

Wszystkie lekcje w sekcji Python w oknie gry

Poćwicz samodzielnie: Edytor online Pygame