ABIX_Edukacja

LwS-Python-08

May 6th, 2020
1,826
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # gra - pirat musi dostać się na statek
  2. # Licencja: GNU GPL - https://www.gnu.org/licenses/gpl-3.0.html
  3. # obrazki oryginalnie w serwisie Pixabay:
  4. # Statek: https://pixabay.com/pl/vectors/statek-%C5%82%C3%B3d%C5%BA-pirat-korsarz-146312/
  5. # Pirat: https://pixabay.com/pl/vectors/pingwin-pirat-tux-zwierz%C4%85t-chustka-161356/
  6. # Morze: https://pixabay.com/pl/photos/sun-ustawienie-niebo-zach%C3%B3d-s%C5%82o%C5%84ca-3726030/
  7.  
  8. # dodatkowe funkcje - importowanie modułów
  9. from random import randint
  10. from datetime import datetime
  11.  
  12. #dodatkowe funkcje - definicje
  13.  
  14. def losuj_xy(max_x, max_y):
  15.     x = randint(20, max_x - 20)
  16.     y = randint(20, max_y - 20)
  17.     return (x,y)
  18.  
  19. WIDTH = 1264
  20. HEIGHT = 840
  21. KROK = 3
  22. ODLEGLOSC = 40
  23.  
  24. start = datetime.now()
  25.  
  26. ship = Actor("ship.png")
  27. ship.pos = losuj_xy(WIDTH, HEIGHT)
  28.  
  29. pirat = Actor("pingwin.png")
  30. pirat.pos = losuj_xy(WIDTH, HEIGHT)
  31. # dodatkowe właściwości dla obiektu pirat
  32. pirat.czas = datetime.now()
  33. pirat.skonczyl = False
  34. pirat.gra = True
  35. pirat.wynik = False
  36.  
  37. def draw():
  38.     screen.blit("sun.jpg", (0,0))
  39.     ship.draw()
  40.     pirat.draw()
  41.     if pirat.skonczyl == True:
  42.         pirat.czas = datetime.now() - start
  43.         pirat.skonczyl = False
  44.         pirat.gra = False
  45.         pirat.wynik = True
  46.  
  47.     if pirat.wynik == True:
  48.         screen.draw.text(f"Super! Czas: {pirat.czas}", (10, 10))
  49.  
  50.  
  51. def update():
  52.     if keyboard.right:
  53.         pirat.x += KROK
  54.     if keyboard.left:
  55.         pirat.x -= KROK
  56.     if keyboard.up:
  57.         pirat.y -= KROK
  58.     if keyboard.down:
  59.         pirat.y += KROK
  60.     if pirat.gra == True and pirat.distance_to(ship) < ODLEGLOSC:
  61.         pirat.skonczyl = True
RAW Paste Data