diff --git a/agenci.py b/agent.py similarity index 93% rename from agenci.py rename to agent.py index 74e470c..9ad45a0 100644 --- a/agenci.py +++ b/agent.py @@ -3,7 +3,6 @@ import random from klasy import * -# poleKoncoweDolne -> wiersz+bokWPolach-1 kolumna+bokWPolach-1 class Agent: bok = BOK_AGENTA1 bokWPolach = BOK_AGENTA1_W_POLACH @@ -35,12 +34,12 @@ class Agent: losowa_droga = random.randint(0, self.poleStartoweGorne.wiersz) elif self.kierunek == Kierunek.DOL: losowa_droga = random.randint(0, (self.krata.liczbaPolPionowo - 1) - ( - self.poleStartoweGorne.wiersz + self.bokWPolach - 1)) + self.poleStartoweGorne.wiersz + self.bokWPolach - 1)) elif self.kierunek == Kierunek.LEWO: losowa_droga = random.randint(0, self.poleStartoweGorne.kolumna) elif self.kierunek == Kierunek.PRAWO: losowa_droga = random.randint(0, (self.krata.liczbaPolPoziomo - 1) - ( - self.poleStartoweGorne.wiersz + self.bokWPolach - 1)) + self.poleStartoweGorne.wiersz + self.bokWPolach - 1)) self.droga = losowa_droga def idzWGore(self): diff --git a/enumy.py b/enumy.py new file mode 100644 index 0000000..7c52fa5 --- /dev/null +++ b/enumy.py @@ -0,0 +1,14 @@ +from enum import Enum + + +class Kierunek(Enum): + GORA = 0 + DOL = 1 + LEWO = 2 + PRAWO = 3 + + +class ZawartoscPola(Enum): + PUSTE = 0 + AGENT = 1 + LAWA = 2 diff --git a/klasy.py b/klasy.py new file mode 100644 index 0000000..ec19f2e --- /dev/null +++ b/klasy.py @@ -0,0 +1,68 @@ +import pygame + +from enumy import * +from stale import * + + +class PoleKraty: + def __init__(self, Krata, wiersz, kolumna): + self.krata = Krata + self.bok = self.krata.bokPola + self._wiersz = wiersz + self._kolumna = kolumna + self.okreslGore() + self.okreslStart() + + def okreslGore(self): + self.gora = (self.bok + self.krata.odstepMiedzyPolami) * self.wiersz + self.krata.odstepMiedzyPolami + + def okreslStart(self): + self.start = (self.bok + self.krata.odstepMiedzyPolami) * self.kolumna + self.krata.odstepMiedzyPolami + + def getWiersz(self): + return self._wiersz + + def setWiersz(self, x): + self._wiersz = x + self.okreslGore() + + def getKolumna(self): + return self._kolumna + + def setKolumna(self, x): + self._kolumna = x + self.okreslStart() + + wiersz = property(getWiersz, setWiersz) + kolumna = property(getKolumna, setKolumna) + + +class Krata: + def __init__(self, okno): + self.okno = okno + self.liczbaPolPoziomo = LICZBA_POL_W_POZIOMIE + self.liczbaPolPionowo = LICZBA_POL_W_PIONIE + self.bokPola = BOK_POLA + self.odstepMiedzyPolami = ODSTEP_MIEDZY_POLAMI + self.krata = self.utworzPustaKrate() + self.agent = None + + def utworzPustaKrate(self): + self.krata = [] + for rzad in range(self.liczbaPolPionowo): + self.krata.append([]) + for kolumna in range(self.liczbaPolPoziomo): + self.krata[rzad].append(ZawartoscPola.PUSTE) + + def wyswietlKrate(self): + self.okno.fill(SZARY1) + for rzad in range(self.liczbaPolPionowo): + for kolumna in range(self.liczbaPolPoziomo): + start = (self.odstepMiedzyPolami + self.bokPola) * kolumna + self.odstepMiedzyPolami + gora = (self.odstepMiedzyPolami + self.bokPola) * rzad + self.odstepMiedzyPolami + pygame.draw.rect(self.okno, BIALY, [start, gora, self.bokPola, self.bokPola]) + pygame.display.update() + + def wyswietlAgenta(self): + self.okno.blit(self.agent.tekstura, (self.agent.hitbox.x, self.agent.hitbox.y)) + pygame.display.update() diff --git a/main.py b/main.py index 6809479..bb49d65 100644 --- a/main.py +++ b/main.py @@ -1,6 +1,6 @@ import os -from agenci import * +from agent import * Okno = pygame.display.set_mode((SZEROKOSC_OKNA, WYSOKOSC_OKNA)) pygame.display.set_caption("Okno1") @@ -13,7 +13,7 @@ def dodaj_agenta(): pom = 'test1_ikona.png' ikona = pygame.transform.scale(pygame.image.load(os.path.join('Ikony', pom)), (BOK_AGENTA1, BOK_AGENTA1)) - nowy_agent = Agent(Krata, pole_lewe_gorne, ikona, Kierunek.GORA, 0) + Agent(Krata, pole_lewe_gorne, ikona, Kierunek.GORA, 0) def main(): diff --git a/stale.py b/stale.py index 35dbd3d..34371f8 100644 --- a/stale.py +++ b/stale.py @@ -3,10 +3,10 @@ FPS = 1 # SZEROKOSC_OKNA = 1500 # WYSOKOSC_OKNA = 750 -LICZBA_POL_W_POZIOMIE = 80 -LICZBA_POL_W_PIONIE = 40 +LICZBA_POL_W_POZIOMIE = 60 +LICZBA_POL_W_PIONIE = 30 BOK_POLA = 20 -ODSTEP_MIEDZY_POLAMI = 1 +ODSTEP_MIEDZY_POLAMI = 2 SZEROKOSC_OKNA = LICZBA_POL_W_POZIOMIE * (BOK_POLA + ODSTEP_MIEDZY_POLAMI) + ODSTEP_MIEDZY_POLAMI WYSOKOSC_OKNA = LICZBA_POL_W_PIONIE * (BOK_POLA + ODSTEP_MIEDZY_POLAMI) + ODSTEP_MIEDZY_POLAMI