Menu
CoddyTech

שימוש במשתנה הלולאה

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

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

for i in range(6):
    x = 70 + i * 100
    radius = 5 + i * 5
    colour = (255, 80 + i * 30, 120)
    pygame.draw.circle(screen, colour, (x, 240), radius)

עברו על הקוד עבור i = 2: x הוא 270, הרדיוס הוא 15, והצבע הוא (255, 140, 120). עבור i = 5: x הוא 570, הרדיוס הוא 30, והצבע הוא (255, 230, 120).

משתנים שנוצרים בתוך גוף הלולאה, כמו x ו-radius, מקבלים ערכים חדשים בכל איטרציה. מתן שמות לחלקים מראש משאיר את שורת הציור קצרה וברורה.

הקפידו שכל מספר צבע יהיה בין 0 ל-255. כאן הערך המרבי של הירוק הוא 80 + 5 * 30, כלומר 230, ולכן הוא בטווח הבטוח.

challenge icon

אתגר

בינוני

שנו את הלולאה כך שכוכב הלכת i:

  1. יהיה ממורכז ב־(70 + i * 100, 240), כמו עכשיו;
  2. יהיה בעל רדיוס 5 + i * 5, מ־5 עד 30;
  3. יהיה בעל צבע (255, 80 + i * 30, 120).

נסו בעצמכם

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))
    # ציירו כאן, אחרי מילוי המסך.
    for i in range(6):
        pygame.draw.circle(screen, (255, 80, 120), (70 + i * 100, 240), 10)

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

pygame.quit()

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

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