giganciprogramowania

lekcja 9 - projekt.py

Feb 18th, 2022 (edited)
636
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.94 KB | None | 0 0
  1. import pygame
  2. import random
  3. import time
  4. from Kierunek import Kierunek
  5. from Waz import Waz
  6. from Jablko import Jablko
  7.  
  8. #szerokość i wysokość ekranu
  9. SZEROKOSC_EKRANU = 800
  10. WYSOKOSC_EKRANU = 608
  11.  
  12. #stworzenie tla
  13. tlo = pygame.Surface((SZEROKOSC_EKRANU, WYSOKOSC_EKRANU))
  14. for i in range(25):
  15.     for j in range(19):
  16.         obraz = pygame.image.load("images/background.png")
  17.         maska = (random.randrange(0, 20), random.randrange(0,20), random.randrange(0,20))
  18.        
  19.         obraz.fill(maska, special_flags=pygame.BLEND_ADD)
  20.         tlo.blit(obraz, (i*32, j*32))
  21.  
  22. #ustawienia
  23. pygame.init()
  24. #obiekt ekranu i zegara
  25. ekran = pygame.display.set_mode([SZEROKOSC_EKRANU, WYSOKOSC_EKRANU])
  26. zegar = pygame.time.Clock()
  27.  
  28. #Wąż
  29. waz = Waz()
  30. PORUSZ_WEZEM = pygame.USEREVENT + 1
  31. pygame.time.set_timer(PORUSZ_WEZEM, 200)
  32.  
  33. #jabłka
  34. jablko = Jablko()
  35. jablka = pygame.sprite.Group()
  36. jablka.add(jablko)
  37.  
  38. gra_dziala = True
  39. while gra_dziala:
  40.     for zdarzenie in pygame.event.get():
  41.         if zdarzenie.type == pygame.KEYDOWN:
  42.             if zdarzenie.key == pygame.K_ESCAPE:
  43.                 gra_dziala = False
  44.             if zdarzenie.key == pygame.K_w:
  45.                 waz.zmien_kierunek(Kierunek.GORA)
  46.             if zdarzenie.key == pygame.K_s:
  47.                 waz.zmien_kierunek(Kierunek.DOL)
  48.             if zdarzenie.key == pygame.K_a:
  49.                 waz.zmien_kierunek(Kierunek.LEWO)
  50.             if zdarzenie.key == pygame.K_d:
  51.                 waz.zmien_kierunek(Kierunek.PRAWO)
  52.  
  53.         elif zdarzenie.type == PORUSZ_WEZEM:
  54.             waz.aktualizuj()
  55.         elif zdarzenie.type == pygame.QUIT:
  56.             gra_dziala = False
  57.        
  58.    
  59.     #rysowanie tła
  60.     ekran.blit(tlo, (0, 0))
  61.     #rysowanie glłowy węża
  62.     ekran.blit(waz.obraz, waz.rect)
  63.     #rysowanie jablek
  64.     for jablko in jablka:
  65.         ekran.blit(jablko.obraz, jablko.rect)
  66.  
  67.     pygame.display.flip()
  68.     zegar.tick(30)
  69.  
  70. time.sleep(3)
  71. pygame.quit()
Add Comment
Please, Sign In to add comment