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

حافظ على النتيجة

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

النص في pygame هو صورة للكلمات. يحوّل pygame.font.Font سلسلة نصية إلى سطح، وترسم ذلك السطح باستخدام screen.blit.

font = pygame.font.Font(None, 32)

text = font.render(f"Score: {score}", True, (240, 240, 240))
screen.blit(text, (10, 10))

يمثّل Font(None, 32) الخط المضمّن في pygame، وارتفاعه 32 بكسلًا. أنشئه مرة واحدة، قبل الحلقة. ترسم render(text, True, color) الكلمات؛ وتنعّم True حوافها. تنسخ blit(surface, (x, y)) الصورة إلى الشاشة، بحيث تكون زاويتها العلوية اليسرى عند (x, y).

أنشئ النص داخل الحلقة، بعد التعبئة. تتغير النتيجة، والصورة التي أُنشئت مرة واحدة تواصل عرض الرقم القديم.

challenge icon

التحدي

سهل
  1. قبل الحلقة، أنشئ font = pygame.font.Font(None, 32) وscore = 0.
  2. أضف 1 إلى score عندما تلتقط السلة كتلة.
  3. بعد رسم الكتلة، اعرض f"Score: {score}" باللون (240, 240, 240) وارسمه عند (10, 10).

جرّب بنفسك

import random
import pygame

pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Catch the Blocks")
clock = pygame.time.Clock()

basket = pygame.Rect(200, 330, 80, 16)
block = pygame.Rect(220, 0, 20, 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]:
        basket.x -= 8
    if keys[pygame.K_RIGHT]:
        basket.x += 8
    basket.clamp_ip(screen.get_rect())

    block.y += 3
    if block.top > 360:
        block.y = -20
        block.x = random.randint(0, 460)
    if block.colliderect(basket):
        block.y = -20
        block.x = random.randint(0, 460)

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

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

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

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

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