البداية والنهاية والخطوة
جزء من قسم Python في نافذة لعبة في رحلة Pygame على Coddy. الدرس 16 من 32.
تأخذ range ما يصل إلى ثلاثة أعداد: range(start, stop, step).
range(5): 0, 1, 2, 3, 4range(2, 6): 2, 3, 4, 5range(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.
التحدي
سهلتحت النجوم، ارسم صفًا من الفوانيس باستخدام حلقة for واحدة:
- دوائر برتقالية
(255, 160, 60)نصف قطرها 8 عند y420. - من x = 60 إلى 580، كل 40 بكسل: 14 فانوسًا.
- استخدم
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 في نافذة لعبة
4حلقات ترسم
التكرار باستخدام Forالبداية والنهاية والخطوةاستخدام متغير الحلقةحلقة داخل حلقةالعد باستخدام Whileتدرّب بنفسك: Playground لـ Pygame