Menu
CoddyTech
flag He 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

תרגלו בעצמכם: Pygame אונליין