Advertisement
WasuMrTomass0

GP_Python_S1_GP14_Zad10

Jan 13th, 2022
278
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.41 KB | None | 0 0
  1. # Import modulu pygame, dzieki ktoremu tworzymy aplikacje okienkowa
  2. import pygame
  3. import random
  4.  
  5. # Inicjalizacja modułu
  6. pygame.init()
  7. # Utworzenie okna o wymiarach 400x300
  8. surface = pygame.display.set_mode((400, 300))
  9. # Nadanie nazwy oknu
  10. pygame.display.set_caption('Nasz własny program graficzny')
  11. # Zmienna określająca, czy należy zamknąć okno
  12. stop_game = False
  13.  
  14.  
  15. # Funkcja losująca kolor
  16. def losuj_kolor():
  17.     r = random.randint(0, 255)
  18.     g = random.randint(0, 255)
  19.     b = random.randint(0, 255)
  20.     kolor = [r, g, b]
  21.     return kolor
  22.  
  23.  
  24. # Kod odpowiedzialny za wgranie nowego koloru jako tło
  25. def wgraj_nowy_kolor(nowy_kolor):
  26.     # Nadpisanie globalnej zmiennej
  27.     global aktualny_kolor_tla, poprzedni_kolor_tla
  28.     # Aktualizacja poprzedniego koloru.
  29.     # Obecny kolor za chwilę stanie się poprzednim
  30.     poprzedni_kolor_tla = aktualny_kolor_tla
  31.     # Ustawienie nowego koloru
  32.     aktualny_kolor_tla = nowy_kolor
  33.     surface.fill(aktualny_kolor_tla)
  34.     # Informacja w konsoli - dodatek ;)
  35.     print(f'\r{aktualny_kolor_tla}', end=' ' * 10)
  36.     pass
  37.  
  38.  
  39. def przywroc_kolor():
  40.     # Nadpisanie globalnej zmiennej
  41.     global aktualny_kolor_tla, poprzedni_kolor_tla
  42.     # Zamiana miejscami aktualnego i poprzedniego koloru
  43.     poprzedni_kolor_tla, aktualny_kolor_tla = aktualny_kolor_tla, poprzedni_kolor_tla
  44.     surface.fill(aktualny_kolor_tla)
  45.     # Informacja w konsoli - dodatek ;)
  46.     print(f'\r{aktualny_kolor_tla}', end=' ' * 10)
  47.     pass
  48.  
  49.  
  50. poprzedni_kolor_tla = [0, 0, 0]
  51. aktualny_kolor_tla = [0, 0, 0]
  52.  
  53.  
  54. # Kod wykonywany póki aplikacja jest uruchomiona
  55. while not stop_game:
  56.     # Odczytanie zdarzeń zarejestrowanych przez komputer
  57.     events = pygame.event.get()
  58.  
  59.     for event in events:
  60.         # # # Miejsce na nasz kod # # #
  61.         if event.type == pygame.KEYDOWN:
  62.             if event.key == pygame.K_b:
  63.                 nowy_kolor = losuj_kolor()
  64.                 wgraj_nowy_kolor(nowy_kolor)
  65.  
  66.         elif event.type == pygame.KEYUP and event.key == pygame.K_p:
  67.             przywroc_kolor()
  68.             pass
  69.         # # # Miejsce na nasz kod # # #
  70.  
  71.         # Sprawdzenie, czy należy zamknąć aplikację - Czy kliknięto na X
  72.         if event.type == pygame.QUIT:
  73.             stop_game = True
  74.         pass
  75.  
  76.     # Odświeżenie wyświetlanego okna
  77.     pygame.display.update()
  78.     pass
  79.  
  80. # Zamknięcie aplikacji
  81. pygame.quit()
  82. # Zamknięcie skryptu
  83. quit()
  84.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement