giganciprogramowania

projekt.py (Arkanoid cz2)

Feb 2nd, 2026
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.79 KB | None | 0 0
  1. import pygame
  2. from platforma import Platforma
  3. from kulka import Kulka
  4.  
  5. #wysokość i szerokość ekranu
  6. SZEROKOSC_EKRANU = 1024
  7. WYSOKOSC_EKRANU = 800
  8. Zycia = 3
  9.  
  10. #ustawienia pygame
  11. pygame.init()
  12. pygame.font.init()
  13.  
  14. #obiekty czcionki, ekranu, zegara i tła
  15. czcionka = pygame.font.SysFont('Comic Sans MS', 24)
  16. ekran = pygame.display.set_mode([SZEROKOSC_EKRANU, WYSOKOSC_EKRANU])
  17. zegar = pygame.time.Clock()
  18. obraz_tla = pygame.image.load('images/background.png')
  19.  
  20. #obiekt platformy
  21. platforma = Platforma()
  22. #obiekt kulki
  23. kulka = Kulka()
  24.  
  25. #główna pętla
  26. gra_dziala = True
  27. while gra_dziala:
  28. for zdarzenie in pygame.event.get():
  29. if zdarzenie.type == pygame.KEYDOWN:
  30. if zdarzenie.key == pygame.K_ESCAPE:
  31. gra_dziala = False
  32. elif zdarzenie.type == pygame.QUIT:
  33. gra_dziala = False
  34.  
  35. #sterowanie platformą
  36. wcisniete_klawisze=pygame.key.get_pressed()
  37. if wcisniete_klawisze[pygame.K_a]:
  38. platforma.ruszaj_platforma(-1)
  39. if wcisniete_klawisze[pygame.K_d]:
  40. platforma.ruszaj_platforma(1)
  41.  
  42. #aktualizacja kulki
  43. kulka.aktualizuj(platforma)
  44.  
  45. #sprawdzenie czy kulka dotknęła dolnej krawędzi
  46. if kulka.przegrana:
  47. Zycia -= 1
  48. if Zycia <= 0:
  49. break
  50. kulka.zresetuj_pozycje()
  51. platforma.zresetuj_pozycje()
  52.  
  53. #aktualizacja platformy
  54. platforma.aktualizuj()
  55.  
  56. #wyswietl tlo
  57. ekran.blit(obraz_tla, (0,0))
  58.  
  59. #wyswietl gracza i kulkę
  60. ekran.blit(platforma.obraz, platforma.rect)
  61. ekran.blit(kulka.obraz, kulka.rect)
  62.  
  63. #wyswietlenie wyniku
  64. tekst = czcionka.render(f'Życia: {Zycia}', False, (255, 0, 255))
  65. ekran.blit(tekst, (16, 16))
  66.  
  67. pygame.display.flip()
  68. zegar.tick(30)
  69.  
  70. pygame.quit()
Add Comment
Please, Sign In to add comment