Menu
CoddyTech
flag Ar iconالعربيةdown icon

أكمل لعبتك

الدرس 40 من 40 في دورة اصنع ألعابًا باستخدام Pygame على Coddy.

والآن الخطوات من 3 إلى 5: تحدٍّ ونهاية ونص. تستخدم لعبة Rock Dodge فكرة لم ترها من قبل، وهي قائمة من Rects: صخرة جديدة كل 400 ms، والعديد منها على الشاشة في الوقت نفسه.

rocks = []

# عند وقوع حدث المؤقّت NEW_ROCK:
rocks.append(pygame.Rect(random.randint(0, 450), -30, 30, 30))

# في كل إطار:
for rock in rocks:
    rock.y += 5
    if rock.colliderect(player):
        state = "lost"
rocks = [rock for rock in rocks if rock.top < 360]

السطر الأخير هو استيعاب للقائمة: قائمة جديدة تضم الصخور التي لا تزال على الشاشة فقط، كي لا تستمر القائمة في النمو إلى الأبد.

تحل سلسلة state، وهي "playing" أو "lost" أو "won"، محل عدة علامات. وتعطيك pygame.time.get_ticks() عدد المللي ثانية منذ بدء اللعبة، مما يتيح إنشاء مؤقّت: ابقَ على قيد الحياة 20 ثانية لتفوز.

اجعل لعبتك خاصة بك: غيّر الألوان والسرعات والقواعد. ثم العبها. إذا كان الفوز صعبًا جدًا أو الخسارة سريعة جدًا، فغيّر الأرقام حتى تصبح اللعبة ممتعة.

challenge icon

التحدي

سهل

أكمل لعبتك بحيث تتضمن ما يلي:

  1. شيئًا يتحرك من تلقاء نفسه.
  2. نصًا على الشاشة، مثل النتيجة أو المؤقت.
  3. نهاية: طريقة للفوز أو طريقة للخسارة أو كلتيهما.

تتحقق الاختبارات من وجود نص، وشيء يتحرك دون الضغط على أي مفتاح، ولعبة تعمل لمدة 30 ثانية دون خطأ، ونافذة تُغلَق. أما كل ما عدا ذلك فهو متروك لك.

جرّب بنفسك

import pygame

pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Rock Dodge")
clock = pygame.time.Clock()

player = pygame.Rect(220, 320, 40, 20)

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    keys = pygame.key.get_pressed()
    if keys[pygame.K_LEFT]:
        player.x -= 7
    if keys[pygame.K_RIGHT]:
        player.x += 7
    player.clamp_ip(screen.get_rect())

    screen.fill((30, 30, 46))
    pygame.draw.rect(screen, (80, 160, 255), player)
    pygame.display.flip()
    clock.tick(60)

pygame.quit()
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس اصنع ألعابًا باستخدام Pygame

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