Menu
CoddyTech

البداية والنهاية والخطوة

جزء من قسم Python في نافذة لعبة في رحلة Pygame على Coddy. الدرس 16 من 32.

تأخذ range ما يصل إلى ثلاثة أعداد: range(start, stop, step).

  • range(5): 0, 1, 2, 3, 4
  • range(2, 6): 2, 3, 4, 5
  • range(60, 200, 40): 60, 100, 140, 180

تبدأ عند قيمة البداية، وتضيف قيمة الخطوة في كل مرة، وتتوقف قبل بلوغ قيمة النهاية. لا تكون قيمة النهاية نفسها ضمن النطاق أبدًا.

مع قيمة بداية وخطوة، يمكن أن يكون متغير الحلقة هو الموضع نفسه، دون الحاجة إلى أي مجموع:

for x in range(60, 600, 40):
    pygame.draw.circle(screen, (255, 160, 60), (x, 420), 8)

لإنهاء صف عند 580، يجب أن تتجاوز قيمة النهاية ذلك: تنتهي range(60, 580, 40) عند 540. يمكن أن تكون الخطوة سالبة للعد التنازلي: range(10, 0, -2) هي 10, 8, 6, 4, 2.

challenge icon

التحدي

سهل

تحت النجوم، ارسم صفًا من الفوانيس باستخدام حلقة for واحدة:

  1. دوائر برتقالية (255, 160, 60) نصف قطرها 8 عند y 420.
  2. من x = 60 إلى 580، كل 40 بكسل: 14 فانوسًا.
  3. استخدم range مع بداية ونهاية وخطوة، واستبدل الفانوس المفرد.

جرّب بنفسك

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(8):
        pygame.draw.circle(screen, (255, 255, 255), (40 + i * 80, 80), 5)
    pygame.draw.circle(screen, (255, 160, 60), (60, 420), 8)

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

pygame.quit()

جميع دروس Python في نافذة لعبة

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