רשימה של כוכבים
חלק מהיחידה Python בחלון משחק במסלול ה-Pygame של Coddy. שיעור 24 מתוך 32.
רשימה מכילה ערכים רבים במשתנה אחד, לפי הסדר, בתוך סוגריים מרובעים:
stars = [(100, 80), (220, 160), (360, 100)]כאן כל פריט הוא טאפל של מיקום. stars[0] הוא הפריט הראשון, (100, 80), ו-stars[1] הוא הפריט השני. הספירה מתחילה ב-0, כמו ב-range.
לולאת for יכולה לעבור על רשימה. משתנה הלולאה מקבל כל פריט בתורו:
for star in stars:
pygame.draw.circle(screen, (255, 255, 255), star, 5)מיקום הוא טאפל, ולכן star נכנס ישירות במקום שבו המיקום של המרכז מופיע. הוסיפו מיקום לרשימה, וכוכב נוסף יופיע, ללא כל שינוי בלולאה. הרשימה היא הזיכרון של המשחק לגבי מה שמופיע על המסך; הלולאה מציירת את כל מה שהיא מכילה.
אתגר
קלציירו שמיים עם חמישה כוכבים מתוך רשימה:
- הוסיפו את
(360, 100), את(480, 200)ואת(580, 70)לסוף שלstars. - החליפו את השורה שמציירת את
stars[0]ב-for star in stars:, וציירו כל אחד מהם כעיגול לבן(255, 255, 255)ברדיוס 5.
נסו בעצמכם
import pygame
pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()
# הגדירו כאן את הדברים, לפני לולאת המשחק.
stars = [(100, 80), (220, 160)]
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), stars[0], 5)
pygame.display.flip()
clock.tick(60)
pygame.quit()
כל השיעורים ביחידה Python בחלון משחק
תרגלו בעצמכם: Pygame אונליין