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 في نافذة لعبة

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