Menu
CoddyTech

הפונקציה שלכם

חלק מהיחידה Python בחלון משחק במסלול ה-Pygame של Coddy. שיעור 20 מתוך 32.

פונקציה היא קבוצת שורות בעלת שם שאפשר להריץ מתי שרוצים. def מגדירה פונקציה:

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, השם, סוגריים עגולים ונקודתיים; גוף הפונקציה מוזח מתחת לשורה הזאת. הגדרת פונקציה לא מציירת דבר: Python רק זוכרת את השורות שמתחת לשם.

כדי להריץ אותה, קוראים לפונקציה: כותבים את שמה עם סוגריים.

draw_star()

מגדירים פונקציות בחלק האתחול, לפני לולאת המשחק, וקוראים להן בלולאה במקום שבו צריך אותן. קראת לפונקציות כבר מהשיעור הראשון: גם print() וגם pygame.draw.circle() הן פונקציות שנכתבו בידי אחרים.

pygame.draw.line(screen, colour, start, end, width) מציירת קו בין שתי נקודות.

challenge icon

אתגר

בינוני

הכניסו את הכוכב לפונקציה:

  1. בחלק ההגדרה, כתבו def draw_star(): והעבירו את שלוש השורות שמציירות את הכוכב לגוף הפונקציה.
  2. בחלק הציור, קראו ל־draw_star(). הכוכב מופיע ב־(320, 240) כמו קודם.

נסו בעצמכם

import pygame

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

# הגדירו כאן את הדברים, לפני לולאת המשחק.

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

    # שנו כאן את הדברים, פעם אחת בכל פריים.

    screen.fill((20, 24, 48))
    # ציירו כאן, אחרי מילוי המסך.
    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()

כל השיעורים ביחידה Python בחלון משחק

תרגלו בעצמכם: Pygame אונליין