Menu
CoddyTech

قائمة من النجوم

جزء من قسم 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 مباشرةً إلى المكان الذي يُمرَّر فيه المركز. أضف موضعًا إلى القائمة، وستظهر نجمة أخرى، من دون أي تغيير في الحلقة. القائمة هي ذاكرة اللعبة لما يظهر على الشاشة؛ وترسم الحلقة كل ما تحتويه.

challenge icon

التحدي

سهل

ارسم سماءً من خمس نجوم باستخدام قائمة:

  1. أضف (360, 100) و(480, 200) و(580, 70) إلى نهاية stars.
  2. استبدل السطر الذي يرسم 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 في نافذة لعبة

تدرّب بنفسك: Playground لـ Pygame