Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pygame
- import random
- import time
- from Kierunek import Kierunek
- from Waz import Waz
- from Jablko import Jablko
- # from randomRgb import get_random_rgb
- SZEROKOSC_EKRANU = 608
- WYSOKOSC_EKRANU = 800
- tlo = pygame.Surface((SZEROKOSC_EKRANU, WYSOKOSC_EKRANU))
- for i in range(19):
- for j in range(25):
- obraz = pygame.image.load("images/background.png")
- # Zadanie - wylosuj 3 wartości od 0 do 20 w miejsce x, y, z
- maska = (random.randint(0, 20), random.randint(0, 20), random.randint(0, 20))
- # maska = get_random_rgb()
- obraz.fill(maska, special_flags=pygame.BLEND_ADD)
- tlo.blit(obraz, (i * 32, j * 32))
- pygame.init()
- ekran = pygame.display.set_mode([SZEROKOSC_EKRANU, WYSOKOSC_EKRANU])
- zegar = pygame.time.Clock()
- jablko = Jablko()
- jablka = pygame.sprite.Group()
- jablka.add(jablko)
- waz = Waz()
- PORUSZ_WEZEM = pygame.USEREVENT + 1
- pygame.time.set_timer(PORUSZ_WEZEM, 200)
- gra_dziala = True
- while gra_dziala:
- for event in pygame.event.get():
- if event.type == pygame.KEYDOWN:
- if event.key ==pygame.K_ESCAPE:
- gra_dziala=False
- if event.key ==pygame.K_w:
- waz.zmien_kierunek(Kierunek.GORA)
- if event.key ==pygame.K_d:
- waz.zmien_kierunek(Kierunek.PRAWO)
- if event.key ==pygame.K_s:
- waz.zmien_kierunek(Kierunek.DOL)
- if event.key ==pygame.K_a:
- waz.zmien_kierunek(Kierunek.LEWO)
- # match(event.key):
- # case pygame.K_ESCAPE:
- # gra_dziala = False
- # case pygame.K_w:
- # waz.zmien_kierunek(Kierunek.GORA)
- # case pygame.K_a:
- # waz.zmien_kierunek(Kierunek.LEWO)
- # case pygame.K_s:
- # waz.zmien_kierunek(Kierunek.DOL)
- # case pygame.K_d:
- # waz.zmien_kierunek(Kierunek.PRAWO)
- # if event.key == pygame.K_w:
- # waz.zmien_kierunek(Kierunek.Gora)
- elif event.type == pygame.QUIT:
- gra_dziala = False
- elif event.type == PORUSZ_WEZEM:
- waz.aktualizuj()
- ekran.blit(tlo, (0, 0))
- for a in jablka:
- ekran.blit(a.obraz, a.rect)
- ekran.blit(waz.obraz, waz.rect)
- pygame.display.flip()
- zegar.tick(30)
- pygame.quit()
- '''
- Zadanie 1
- Utwórz inne proporcje ekranu - ekran ma mieć więcej w wysokości, niż w szerokości.
- ---
- Zadanie 2
- Wyeksportuj kod losowania koloru kafelka do swojego osobnego pliku i użyj go jak zwykle w kodzie main.py.
- Zadanie 3
- Przeiteruj przez grupę jablka i wyrenderuj ją na ekran.
- (ekran.blit(jablko.obraz, jablko.rect))
- '''
- =========================================================================================================
- # Kierunek.py
- from enum import Enum
- # Enumerator
- class Kierunek(Enum):
- GORA = 0
- PRAWO = 1
- DOL = 2
- LEWO = 3
- ==========================================================================================================
- #Waz.py
- import pygame
- from Kierunek import Kierunek
- class Waz(pygame.sprite.Sprite):
- def __init__(self):
- self.oryginalny_obraz = pygame.image.load("images/head.png")
- self.obraz = pygame.transform.rotate(self.oryginalny_obraz, 0)
- self.rect = self.obraz.get_rect(center=(9*32-16, 12*32-16))
- self.kierunek = Kierunek.GORA
- self.nowy_kierunek = Kierunek.GORA
- def zmien_kierunek(self, kierunek):
- zmiana_mozliwa = True
- if kierunek == Kierunek.GORA and self.kierunek == Kierunek.DOL:
- zmiana_mozliwa = False
- elif kierunek == Kierunek.DOL and self.kierunek == Kierunek.GORA:
- zmiana_mozliwa = False
- elif kierunek == Kierunek.PRAWO and self.kierunek == Kierunek.LEWO:
- zmiana_mozliwa = False
- elif kierunek == Kierunek.LEWO and self.kierunek == Kierunek.PRAWO:
- zmiana_mozliwa = False
- if zmiana_mozliwa:
- self.nowy_kierunek = kierunek
- def aktualizuj(self):
- self.kierunek = self.nowy_kierunek
- self.obraz = pygame.transform.rotate(self.oryginalny_obraz, (self.kierunek.value * -90))
- if self.kierunek == Kierunek.GORA:
- self.rect.move_ip(0, -32)
- elif self.kierunek == Kierunek.DOL:
- self.rect.move_ip(0, 32)
- elif self.kierunek == Kierunek.PRAWO:
- self.rect.move_ip(32, 0)
- elif self.kierunek == Kierunek.LEWO:
- self.rect.move_ip(-32, 0)
- ==========================================================================================================
- #Jablko.py
- import pygame
- import random
- class Jablko(pygame.sprite.Sprite):
- def __init__(self):
- super(Jablko, self).__init__()
- self.obraz = pygame.image.load("images/apple.png")
- self.rect = pygame.Rect( # wcześniej self.pozycja
- random.randrange(0, 18) * 32,
- random.randrange(0, 24) * 32,
- 32,
- 32
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement