Untitled

 avatar
unknown
plain_text
2 years ago
1.9 kB
3
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.z = 2

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) - self.snake.dlugosc, 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.polozenie.append([self.snake.z, 0])
        self.snake.z += 1

    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
    event = pygame.event.poll()
    if event.type == pygame.QUIT:
        break

    screen.fill(kolor_czarny)
    plansza.rysuj()
    pygame.display.update()

    zegar.tick(2)
Editor is loading...