استخدام متغير الحلقة
جزء من قسم 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، لذا فهي ضمن النطاق الآمن.
التحدي
متوسطغيّر الحلقة بحيث يكون الكوكب i:
- متمركزًا عند
(70 + i * 100, 240)، كما هو الآن؛ - نصف قطره
5 + i * 5، من 5 إلى 30؛ - لونه
(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 في نافذة لعبة
4حلقات ترسم
التكرار باستخدام Forالبداية والنهاية والخطوةاستخدام متغير الحلقةحلقة داخل حلقةالعد باستخدام Whileتدرّب بنفسك: Playground لـ Pygame