Menu
CoddyTech

סיימו את המשחק שלכם

שיעור 41 מתוך 41 בקורס צרו משחקים עם 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", קובעת מה קורה בכל פריים, כמו ב-Sky Runner. ו-pygame.time.get_ticks() נותן את מספר אלפיות השנייה שחלפו מאז שהמשחק התחיל, וכך אפשר ליצור טיימר: שרדו 20 שניות כדי לנצח.

המשחק שלך יכול להשתמש בכל מה שלמדת בקורס הזה, ומסלול Pygame מציג עוד: דמויות, תמונות, צלילים, תפריטים, שיאים ומפות.

תנו למשחק שלכם אופי משלכם: שנו את הצבעים, המהירויות והכללים. ואז שחקו בו. אם קשה מדי לנצח או שקל מדי להפסיד, שנו את המספרים עד שהוא יהיה מהנה.

challenge icon

אתגר

קל

סיים את המשחק שלך.

  1. הוסף משהו שזז בעצמו.
  2. הצג טקסט על המסך, כמו ניקוד או טיימר.
  3. תן לו סוף: דרך לנצח, דרך להפסיד או את שניהם.

לחץ על "שחק": משהו זז בעצמו והטקסט שלך מופיע. לאחר מכן לחץ על "בדיקה".

נסו בעצמכם

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

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