Menu
CoddyTech

חזרה עם for

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

לולאת for חוזרת על השורות שלה פעם אחת עבור כל ערך שניתן לה:

for i in range(8):
    pygame.draw.circle(screen, (255, 255, 255), (40 + i * 80, 80), 5)

range(8) נותן את המספרים 0, 1, 2 וכן הלאה עד 7: שמונה מספרים, החל ב־0 ועוצרים לפני 8. הלולאה שומרת כל אחד מהם בתורו ב־i ומריצה את השורות המוזחות. לכן הכוכב הראשון נמצא ב־x 40, הבא ב־120, אחר כך 200, עד 600.

השורות המוזחות הן גוף הלולאה, כמו במקרה של if. השורה הראשונה שאחרי הגוף, שחוזרת להזחה החיצונית, פועלת כשהלולאה מסתיימת.

הלולאה הזאת נמצאת בחלק הציור של לולאת המשחק, ולכן כל שמונת הכוכבים מצוירים מחדש בכל פריים. היא קצרה ומסתיימת מיד, ולכן הפריים עדיין מסתיים בזמן.

i הוא שם נפוץ למשתנה מונה, אבל כל שם מתאים: for n in range(8): סופר באותו אופן.

challenge icon

אתגר

קל

החלף את הכוכב היחיד בלולאת for שעוברת על range(8) ומציירת 8 כוכבים לבנים ברדיוס 5 במיקום (40 + i * 80, 80).

נסו בעצמכם

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.circle(screen, (255, 255, 255), (40, 80), 5)

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

pygame.quit()

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

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