Advertisement
giganciprogramowania

lekcja 7 - projekt.py

Jan 25th, 2022 (edited)
761
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.85 KB | None | 0 0
  1. #dodanie modułu pygame
  2. import pygame
  3. #zaimportowanie stworzonego pliku
  4. import Element
  5.  
  6. #Utworzenie stałych
  7. SZEROKOSC_EKRANU = 800
  8. WYSOKOSC_EKRANU = 600
  9. #wczytanie obrazów do zmiennych
  10. obraz_tla = pygame.image.load('images/background.png')
  11. obraz_bazy_postaci = pygame.image.load('images/base.png')
  12.  
  13. #zainicjowanie pygame
  14. pygame.init()
  15. #utworzenie obiektów ekranu oraz zegara(FPS)
  16. ekran = pygame.display.set_mode([SZEROKOSC_EKRANU, WYSOKOSC_EKRANU])
  17. zegar = pygame.time.Clock()
  18. #dodanie obiektu czcionki
  19. pygame.font.init()
  20. moja_czcionka = pygame.font.SysFont('Comic Sans MS', 30)
  21.  
  22.  
  23. #elementy stroju
  24. nakrycie_glowy = Element.NakrycieGlowy()
  25. ubranie_element = Element.UbranieElement()
  26. oczy_element = Element.OczyElement()
  27. bron_element = Element.BronElement()
  28.  
  29. def wypisz_tekst(ekran, tekst, pozycja):
  30.     napis = moja_czcionka.render(tekst, False, (255, 255, 255))
  31.     ekran.blit(napis, pozycja)
  32.  
  33. #główna pętla gry
  34. gra_dziala = True
  35. zapisywanie = False
  36. while gra_dziala:
  37.     for zdarzenie in pygame.event.get():
  38.         #naciśnięcie klawiszy
  39.         if zdarzenie.type == pygame.KEYDOWN:
  40.             if zdarzenie.key == pygame.K_ESCAPE:
  41.                 gra_dziala = False
  42.             if zdarzenie.key == pygame.K_q:
  43.                 nakrycie_glowy.wybierzNastepny()
  44.             if zdarzenie.key == pygame.K_w:
  45.                 oczy_element.wybierzNastepny()
  46.             if zdarzenie.key == pygame.K_e:
  47.                 ubranie_element.wybierzNastepny()
  48.             if zdarzenie.key == pygame.K_r:
  49.                 bron_element.wybierzNastepny()
  50.             if zdarzenie.key == pygame.K_s:
  51.                 zapisywanie = True
  52.         #naciśnięcie przycisku X aby zamknąć okno
  53.         elif zdarzenie.type == pygame.QUIT:
  54.             gra_dziala = False
  55.  
  56.     #rysowanie tła
  57.     ekran.blit(obraz_tla, (0, 0))
  58.     #rysowanie bazy postaci
  59.     ekran.blit(obraz_bazy_postaci, (270, 130))
  60.     #rysowanie elementów postaci
  61.     ekran.blit(ubranie_element.wybranyObraz(), (270, 130))
  62.     ekran.blit(oczy_element.wybranyObraz(), (270, 130))
  63.     ekran.blit(nakrycie_glowy.wybranyObraz(), (270, 130))
  64.     ekran.blit(bron_element.wybranyObraz(), (270, 130))
  65.  
  66.     #zapisywanie
  67.     if zapisywanie:
  68.         pygame.image.save(ekran, 'postac.png')
  69.         zapisywanie = False
  70.  
  71.     #wypisanie informacji o wybranym elemencie ekwipunku
  72.     wypisz_tekst(ekran, f'[Q] Glowa: {nakrycie_glowy.wybrany}', (100, 100))
  73.     wypisz_tekst(ekran, f'[W] Oczy: {oczy_element.wybrany}', (100, 140))
  74.     wypisz_tekst(ekran, f'[E] Stroj: {ubranie_element.wybrany}', (100, 180))
  75.     wypisz_tekst(ekran, f'[R] Bron: {bron_element.wybrany}', (100, 220))
  76.     wypisz_tekst(ekran, f'[S] Zapisz', (100, 260))
  77.  
  78.     #wyczyszczenie ekranu
  79.     pygame.display.flip()
  80.     #ustalenie stałego fps na 30
  81.     zegar.tick(30)
  82.  
  83. #koniec pętli while
  84.  
  85. #zamknięcie aplikacji
  86. pygame.quit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement