Menu
CoddyTech

True או False

חלק מהיחידה Python בחלון משחק במסלול ה-Pygame של Coddy. שיעור 14 מתוך 32.

True ו-False הם ערכים בפני עצמם, שנקראים ערכים בוליאניים. משתנה יכול להכיל אחד מהם, כמו מתג:

lamp_on = False

אפשר לבדוק אותו ישירות באמצעות if: הקוד if lamp_on: מופעל כשהערך שלו הוא True. not הופך אותו, לכן lamp_on = not lamp_on מדליק ומכבה את המנורה.

מתג זקוק ללחיצה על מקש, לא להחזקה של מקש. get_pressed() מחזיר True בכל פריים שבו המקש לחוץ, ולכן הוא היה מדליק ומכבה את המנורה 60 פעמים בשנייה. לחיצה מתרחשת פעם אחת, כאירוע KEYDOWN, בלולאת האירועים שבראש לולאת המשחק:

for event in pygame.event.get():
    if event.type == pygame.QUIT:
        running = False
    if event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE:
        lamp_on = not lamp_on

יחידה 2 מסבירה אירועים במלואם. בינתיים: event.type מציין מה קרה, ו-event.key מציין איזה מקש.

challenge icon

אתגר

בינוני

לחצו על מקש הרווח כדי להדליק ולכבות את המנורה:

  1. בחלק האתחול, הגדירו lamp_on = False.
  2. בלולאת האירועים, כשמגיע אירוע KEYDOWN עבור K_SPACE, הגדירו lamp_on = not lamp_on.
  3. ציירו את האור במיקום (320, 290), ברדיוס 30: בצבע (255, 220, 100) כאשר lamp_on הוא True, ואחרת בצבע (70, 70, 90).

נסו בעצמכם

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.rect(screen, (90, 90, 110), (310, 300, 20, 180))
    pygame.draw.circle(screen, (70, 70, 90), (320, 290), 30)

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

pygame.quit()
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה Python בחלון משחק

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