Untitled
unknown
plain_text
2 years ago
2.3 kB
4
Indexable
import pygame kolor_niebieski = (0, 0, 255) kolor_czarny = (0, 0, 0) screen = pygame.display.set_mode((1000, 700)) zegar = pygame.time.Clock() class Kwadrat(): bok = 50 def __init__(self, kolumna, wiersz, kolor = kolor_czarny): self.kolumna = kolumna self.wiersz = wiersz self.kolor = kolor def rysuj(self): pygame.draw.rect(screen, self.kolor, (self.kolumna * self.bok, self.wiersz * self.bok, self.bok, self.bok)) class Snake(): def __init__(self): self.dlugosc = 2 self.polozenie = [[0, 0], [1, 0]] #przy zmianie dlugosci trzeba tutaj dodać kolejne elementy np [2, 0], [3, 0],[4, 0] dopóki piczba alementów nie będzie taka sama co dlugosc self.kierunek = [1, 0] def update(self): self.polozenie.pop(0) nowa_glowa = list(self.polozenie[-1]) nowa_glowa[0] += self.kierunek[0] nowa_glowa[1] += self.kierunek[1] self.polozenie.append(nowa_glowa) print(self.polozenie) class Plansza(): def __init__(self): self.tablica = [] for i in range(14): wiersz = [] for j in range(20): wiersz.append(Kwadrat(j, i)) self.tablica.append(wiersz) self.snake = Snake() def update(self): for i in range(14): for j in range(20): self.tablica[i][j].kolor = kolor_czarny for i in range(len(self.snake.polozenie)): x = self.snake.polozenie[i][0] y = self.snake.polozenie[i][1] self.tablica[y][x].kolor = kolor_niebieski self.snake.update() def rysuj(self): self.update() for i in range(14): for j in range(20): self.tablica[i][j].rysuj() plansza = Plansza() while True: #wylacza okienko gry po klijnieciu X'a events = pygame.event.get() for event in events: if event.type == pygame.QUIT: break if event.type == pygame.KEYDOWN: if event.key == pygame.K_DOWN: plansza.snake.kierunek = [0, 1] screen.fill(kolor_czarny) plansza.rysuj() pygame.display.update() zegar.tick(2)
Editor is loading...