Menu
CoddyTech

ضع النجوم

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

تُنشئ الدروس الأربعة الأخيرة لعبة صغيرة واحدة، Night Sky: تنقر لوضع النجوم، فتتلألأ، ويُظهر عدّاد عددها، وعند بلوغها عشرين تمتلئ السماء. يبدأ كل درس من الشيفرة التي أنشأتها في الدرس السابق.

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

stars = []

        if event.type == pygame.MOUSEBUTTONDOWN:
            stars.append(event.pos)

    for star in stars:
        pygame.draw.circle(screen, (255, 255, 255), star, 3)

ارسم النجوم بعد القمر والأرض، لتظهر فوقهما. والنجمة التي توضع على القمر ستظهر أمامه، كما لو كانت أقرب.

challenge icon

التحدي

سهل

ابدأ مشهد السماء الليلية:

  1. أنشئ stars = [] قبل حلقة اللعبة.
  2. عند وقوع حدث MOUSEBUTTONDOWN، أضف event.pos إلى stars.
  3. بعد رسم القمر والأرض، ارسم كل نجمة على شكل دائرة بيضاء (255, 255, 255) نصف قطرها 3.

جرّب بنفسك

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))
    # ارسم هنا، بعد تعبئة الشاشة.
    pygame.draw.circle(screen, (240, 230, 160), (560, 80), 40)
    pygame.draw.rect(screen, (14, 16, 30), (0, 430, 640, 50))

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

pygame.quit()

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

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