להלן תוכנה בפייתון שתבצע את המשחק שתיארת, תוך שימוש בספריית `pygame`. ודא שכל התמונות נמצאות באותה תיקייה שבה נמצא הקוד, ושמות התמונות תואמים למה שכתבת בתוכנית. ```python import pygame import sys import time # אתחול pygame pygame.init() # הגדרת גודל המסך screen_width, screen_height = 800, 600 screen = pygame.display.set_mode((screen_width, screen_height)) # טוען את כל התמונות image1 = pygame.image.load("image1.png") image2 = pygame.image.load("image2.png") image3 = pygame.image.load("image3.png") image4 = pygame.image.load("image4.png") image5 = pygame.image.load("image5.png") image6 = pygame.image.load("image6.png") image7 = pygame.image.load("image7.png") image8 = pygame.image.load("image8.png") image9 = pygame.image.load("image9.png") # פונקציה להצגת תמונה על המסך def display_image(image): screen.blit(image, (0, 0)) pygame.display.update() # הצגת תמונה 8 בהתחלת המשחק display_image(image8) pygame.time.delay(3000) # ממתין 3 שניות # משתני משחק scroll_position = 0 scroll_speed = 0 running = True paused = False # לולאת המשחק הראשית while running: for event in pygame.event.get(): if event.type == pygame.QUIT: running = False if event.type == pygame.KEYDOWN: if event.key == pygame.K_0: running = False if event.key == pygame.K_RIGHT: scroll_speed = 0.25 paused = False if event.key == pygame.K_SPACE and not paused: scroll_speed *= 2 if event.key == pygame.K_7 and paused and scroll_position >= 0.2: paused = False if event.key == pygame.K_2 and paused and scroll_position >= 0.4: paused = False if event.key == pygame.K_4 and paused and scroll_position >= 0.6: paused = False # פתיחת תמונה 9 במידה ונלחץ מקש אחר if paused and event.key not in [pygame.K_7, pygame.K_2, pygame.K_4, pygame.K_0]: display_image(image9) pygame.time.delay(2000) paused = True if not paused: # מחשב את המיקום החדש בתמונה 2 scroll_position += scroll_speed / 100 if scroll_position >= 1.0: display_image(image7) pygame.time.delay(5000) running = False elif scroll_position >= 0.8: display_image(image6) paused = True elif scroll_position >= 0.6: display_image(image5) paused = True elif scroll_position >= 0.4: display_image(image4) paused = True elif scroll_position >= 0.2: display_image(image3) paused = True # מציג את תמונה 2 ומרכז את תמונה 1 screen.fill((0, 0, 0)) image2_cropped = pygame.Surface((screen_height, screen_height)) image2_cropped.blit(image2, (0, 0), (scroll_position * image2.get_width(), 0, screen_height, screen_height)) screen.blit(image2_cropped, (0, 0)) screen.blit(image1, ((screen_width - image1.get_width()) // 2, (screen_height - image1.get_height()) // 2)) pygame.display.update() # הקפאת התמונה כשאין לחיצה על מקשים else: pygame.time.wait(100) # יציאה מהמשחק pygame.quit() sys.exit() ``` ### הסבר על הקוד: 1. **הכנה:** הקוד טוען את כל התמונות הנדרשות לתוך משתנים (`image1`, `image2`, וכו'). 2. **התחלה:** בהתחלת המשחק מוצגת תמונה 8 למשך 3 שניות. 3. **הרצת התמונה:** כאשר לוחצים על מקש החץ הימני, התמונה השנייה מתחילה לנוע לאחור בקצב של 0.25 אחוז בשניה. אם לוחצים גם על מקש הרווח, הקצב מוכפל. 4. **עצירת המשחק והצגת תמונות ביניים:** כאשר מגיעים ל-20%, 40%, 60%, או 80% מהתמונה השנייה, המשחק עוצר ומציג את אחת התמונות (3, 4, 5, או 6). כדי להמשיך, יש ללחוץ על מקש מתאים (7, 2, 4, או 2). ניתן גם לפתוח את תמונה 9 למשך 2 שניות אם לוחצים על כל מקש אחר. 5. **סיום המשחק:** כאשר מגיעים ל-100% מהתמונה השנייה, מוצגת תמונה 7 למשך 5 שניות ואז המשחק מסתיים. ### דרישות: - ודא שכל התמונות נמצאות באותה תיקייה כמו הקוד. - הקוד עושה שימוש בספריית `pygame`. ניתן להתקין אותה באמצעות הפקודה: ```bash pip install pygame ``` בהצלחה!