From 71cf238e65ff10f50ee0588c40e8ab711ded68f8 Mon Sep 17 00:00:00 2001 From: Aniela Date: Sat, 19 Mar 2022 14:46:39 +0100 Subject: [PATCH 1/8] m --- main.py => main2.py | 21 +++++++++++++++++---- stale.py | 22 +++++++++++++++++++--- 2 files changed, 36 insertions(+), 7 deletions(-) rename main.py => main2.py (71%) diff --git a/main.py b/main2.py similarity index 71% rename from main.py rename to main2.py index 2a2409e..9115ef6 100644 --- a/main.py +++ b/main2.py @@ -1,14 +1,20 @@ import os import pygame - from agenci import * from stale import * +import stale OKNO = pygame.display.set_mode((SZEROKOSC_OKNA, WYSOKOSC_OKNA)) pygame.display.set_caption("Okno1") Agenci1 = [] +def kratka(surface): + for i in range(stale.NUMBER_OF_BLOCKS_WIDE): + new_height=round(i*BLOCK_HEIGHT) + new_width =round(i*BLOCK_HEIGHT) + pygame.draw.line(surface, BLACK,(0,new_height),(SZEROKOSC_OKNA,new_height),2) + pygame.draw.line(surface,BLACK,(new_width,0),(new_width,WYSOKOSC_OKNA),2) def wyswietl_okno(): OKNO.fill(JASNOSZARY1) @@ -18,14 +24,13 @@ def wyswietl_okno(): a.obierzNowyKierunek() a.okreslDlugoscDrogi() a.ruszSie(Agenci1) + kratka(OKNO) pygame.display.update() def dodaj_agenta1(): los = None - if len(Agenci1) in range(0, 40): - los = random.randint(1, 150) - elif len(Agenci1) in range(40, 50): + if len(Agenci1) in range(0, 1): los = random.randint(1, 15) if los != None: pom = None @@ -48,6 +53,14 @@ def dodaj_agenta1(): (BOK_AGENTA1, BOK_AGENTA1)) Agenci1.append(Agent1(hitbox, ikona, KIERUNEK.GORA, 0)) +def dodaj_agenta2(): + los = None + if len(Agenci1) in range(0, 1): + los = random.randint(1, 15) + pom = 'wozek.png' + if pom != None: + x, y = random.randint(0, SZEROKOSC_OKNA - BOK_AGENTA1), random.randint(0, WYSOKOSC_OKNA - BOK_AGENTA1) + hitbox = pygame.Rect(x, y, BOK_AGENTA1, BOK_AGENTA1) def main(): klatkaz = pygame.time.Clock() diff --git a/stale.py b/stale.py index 7e36106..0fcf1b9 100644 --- a/stale.py +++ b/stale.py @@ -2,13 +2,29 @@ from enum import Enum FPS = 120 KROK_AGENTA1 = 2 -SZEROKOSC_OKNA = 1280 -WYSOKOSC_OKNA = 960 +SZEROKOSC_OKNA = 1080 +WYSOKOSC_OKNA = 760 BOK_AGENTA1 = 100 BIALY = (255, 255, 255) JASNOSZARY1 = (200, 200, 200) ZIELONY1 = (26, 122, 26) - +GREY =(150,150,150) +RED =(255,0,0) +BLUE=(55,55,255) +BLACK =(0,0,0) +GREEN =(0,200,0) +DARKGREY=(150,150,150) +UGLY_PINK=(255,0,255) +BROWN=(153,76,0) +GOLD=(153,153,0) +DARKGREEN=(0,102,0) +DARKORANGE=(255,128,0) +NUMBER_OF_BLOCKS_WIDE=8 +NUMBER_OF_BLOCKS_HIGH=8 +BLOCK_HEIGHT=round(SZEROKOSC_OKNA/NUMBER_OF_BLOCKS_HIGH) +BLOCK_WIDTH=round(WYSOKOSC_OKNA/NUMBER_OF_BLOCKS_WIDE) +MAPFILE="map.txt" +TITLE ="Gierka" class KIERUNEK(Enum): GORA = 0 -- 2.20.1 From 5ab552c7bf22921e56db1941c54d7e7b8ca7da09 Mon Sep 17 00:00:00 2001 From: Aniela Walczak Date: Sat, 19 Mar 2022 14:52:09 +0100 Subject: [PATCH 2/8] =?UTF-8?q?Usu=C5=84=20'stale.py'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- stale.py | 33 --------------------------------- 1 file changed, 33 deletions(-) delete mode 100644 stale.py diff --git a/stale.py b/stale.py deleted file mode 100644 index 0fcf1b9..0000000 --- a/stale.py +++ /dev/null @@ -1,33 +0,0 @@ -from enum import Enum - -FPS = 120 -KROK_AGENTA1 = 2 -SZEROKOSC_OKNA = 1080 -WYSOKOSC_OKNA = 760 -BOK_AGENTA1 = 100 -BIALY = (255, 255, 255) -JASNOSZARY1 = (200, 200, 200) -ZIELONY1 = (26, 122, 26) -GREY =(150,150,150) -RED =(255,0,0) -BLUE=(55,55,255) -BLACK =(0,0,0) -GREEN =(0,200,0) -DARKGREY=(150,150,150) -UGLY_PINK=(255,0,255) -BROWN=(153,76,0) -GOLD=(153,153,0) -DARKGREEN=(0,102,0) -DARKORANGE=(255,128,0) -NUMBER_OF_BLOCKS_WIDE=8 -NUMBER_OF_BLOCKS_HIGH=8 -BLOCK_HEIGHT=round(SZEROKOSC_OKNA/NUMBER_OF_BLOCKS_HIGH) -BLOCK_WIDTH=round(WYSOKOSC_OKNA/NUMBER_OF_BLOCKS_WIDE) -MAPFILE="map.txt" -TITLE ="Gierka" - -class KIERUNEK(Enum): - GORA = 0 - DOL = 1 - LEWO = 2 - PRAWO = 3 -- 2.20.1 From fc58b7dd27b5cf63af6069c66bac4a4f911e6bea Mon Sep 17 00:00:00 2001 From: Aniela Walczak Date: Sat, 19 Mar 2022 14:52:19 +0100 Subject: [PATCH 3/8] =?UTF-8?q?Usu=C5=84=20'main2.py'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main2.py | 79 -------------------------------------------------------- 1 file changed, 79 deletions(-) delete mode 100644 main2.py diff --git a/main2.py b/main2.py deleted file mode 100644 index 9115ef6..0000000 --- a/main2.py +++ /dev/null @@ -1,79 +0,0 @@ -import os - -import pygame -from agenci import * -from stale import * -import stale - -OKNO = pygame.display.set_mode((SZEROKOSC_OKNA, WYSOKOSC_OKNA)) -pygame.display.set_caption("Okno1") -Agenci1 = [] - -def kratka(surface): - for i in range(stale.NUMBER_OF_BLOCKS_WIDE): - new_height=round(i*BLOCK_HEIGHT) - new_width =round(i*BLOCK_HEIGHT) - pygame.draw.line(surface, BLACK,(0,new_height),(SZEROKOSC_OKNA,new_height),2) - pygame.draw.line(surface,BLACK,(new_width,0),(new_width,WYSOKOSC_OKNA),2) - -def wyswietl_okno(): - OKNO.fill(JASNOSZARY1) - for a in Agenci1: - OKNO.blit(a.tekstura, (a.hitbox.x, a.hitbox.y)) - if a.droga == 0: - a.obierzNowyKierunek() - a.okreslDlugoscDrogi() - a.ruszSie(Agenci1) - kratka(OKNO) - pygame.display.update() - - -def dodaj_agenta1(): - los = None - if len(Agenci1) in range(0, 1): - los = random.randint(1, 15) - if los != None: - pom = None - if los in (1, 2) or len(Agenci1) == 0: - pom = 'wozek.png' - elif los in (3, 4): - pom = 'wozek_ze_skrzynka.png' - elif los == 5 and len(Agenci1) > 6: - pom = 'traktor_ikona.png' - if pom != None: - x, y = random.randint(0, SZEROKOSC_OKNA - BOK_AGENTA1), random.randint(0, WYSOKOSC_OKNA - BOK_AGENTA1) - hitbox = pygame.Rect(x, y, BOK_AGENTA1, BOK_AGENTA1) - warunek = True - for a in Agenci1: - if a.hitbox.colliderect(hitbox): - warunek = False - break - if warunek: - ikona = pygame.transform.scale(pygame.image.load(os.path.join('Ikony', pom)), - (BOK_AGENTA1, BOK_AGENTA1)) - Agenci1.append(Agent1(hitbox, ikona, KIERUNEK.GORA, 0)) - -def dodaj_agenta2(): - los = None - if len(Agenci1) in range(0, 1): - los = random.randint(1, 15) - pom = 'wozek.png' - if pom != None: - x, y = random.randint(0, SZEROKOSC_OKNA - BOK_AGENTA1), random.randint(0, WYSOKOSC_OKNA - BOK_AGENTA1) - hitbox = pygame.Rect(x, y, BOK_AGENTA1, BOK_AGENTA1) - -def main(): - klatkaz = pygame.time.Clock() - warunek_dzialania = True - while warunek_dzialania: - klatkaz.tick(FPS) - for event in pygame.event.get(): - if event.type == pygame.QUIT: - warunek_dzialania = False - break - wyswietl_okno() - dodaj_agenta1() - pygame.quit() - - -main() -- 2.20.1 From 88a5f17440b69ae2063de72004ba74447909bf3f Mon Sep 17 00:00:00 2001 From: Aniela Walczak Date: Sat, 19 Mar 2022 14:52:22 +0100 Subject: [PATCH 4/8] =?UTF-8?q?Usu=C5=84=20'agenci.py'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- agenci.py | 95 ------------------------------------------------------- 1 file changed, 95 deletions(-) delete mode 100644 agenci.py diff --git a/agenci.py b/agenci.py deleted file mode 100644 index 509f288..0000000 --- a/agenci.py +++ /dev/null @@ -1,95 +0,0 @@ -import random - -from stale import * - - -class Agent1: - def __init__(self, hitbox, tekstura, kierunek, droga): - self.hitbox = hitbox - self.tekstura = tekstura - self.kierunek = kierunek - self.droga = droga - - def obierzNowyKierunek(self): - self.kierunek = KIERUNEK(random.randint(0, 3)) - - def okreslDlugoscDrogi(self): - losowa_droga = None - if self.kierunek == KIERUNEK.GORA: - losowa_droga = random.randint(0, self.hitbox.y) - elif self.kierunek == KIERUNEK.DOL: - losowa_droga = random.randint(0, WYSOKOSC_OKNA - self.hitbox.y) - elif self.kierunek == KIERUNEK.LEWO: - losowa_droga = random.randint(0, self.hitbox.x) - elif self.kierunek == KIERUNEK.PRAWO: - losowa_droga = random.randint(0, SZEROKOSC_OKNA - self.hitbox.x) - self.droga = losowa_droga - losowa_droga % KROK_AGENTA1 - - def idzWGore(self): - if self.hitbox.y - KROK_AGENTA1 > 0: - self.hitbox.y -= KROK_AGENTA1 - self.droga -= KROK_AGENTA1 - else: - self.droga = 0 - - def idzWDol(self): - if self.hitbox.y + KROK_AGENTA1 < WYSOKOSC_OKNA - self.hitbox.height: - self.hitbox.y += KROK_AGENTA1 - self.droga -= KROK_AGENTA1 - else: - self.droga = 0 - - def idzWLewo(self): - if self.hitbox.x - KROK_AGENTA1 > 0: - self.hitbox.x -= KROK_AGENTA1 - self.droga -= KROK_AGENTA1 - else: - self.droga = 0 - - def idzWPrawo(self): - if self.hitbox.x + KROK_AGENTA1 < SZEROKOSC_OKNA - self.hitbox.width: - self.hitbox.x += KROK_AGENTA1 - self.droga -= KROK_AGENTA1 - else: - self.droga = 0 - - def czyWszedlesWInnegoAgenta(self, Agenci): - for a in Agenci: - if a.hitbox.colliderect(self.hitbox) and a != self: - return True - return False - - def ruszSie(self, Agenci): - if self.kierunek == KIERUNEK.GORA: - self.idzWGore() - elif self.kierunek == KIERUNEK.DOL: - self.idzWDol() - elif self.kierunek == KIERUNEK.LEWO: - self.idzWLewo() - elif self.kierunek == KIERUNEK.PRAWO: - self.idzWPrawo() - if self.czyWszedlesWInnegoAgenta(Agenci): - self.cofnijSie() - self.zawroc() - self.okreslDlugoscDrogi() - # self.ruszSie(Agenci) - - def cofnijSie(self): - if self.kierunek == KIERUNEK.GORA: - self.idzWDol() - elif self.kierunek == KIERUNEK.DOL: - self.idzWGore() - elif self.kierunek == KIERUNEK.LEWO: - self.idzWPrawo() - elif self.kierunek == KIERUNEK.PRAWO: - self.idzWLewo() - - def zawroc(self): - if self.kierunek == KIERUNEK.GORA: - self.kierunek = KIERUNEK.DOL - elif self.kierunek == KIERUNEK.DOL: - self.kierunek = KIERUNEK.GORA - elif self.kierunek == KIERUNEK.LEWO: - self.kierunek = KIERUNEK.PRAWO - elif self.kierunek == KIERUNEK.PRAWO: - self.kierunek = KIERUNEK.LEWO -- 2.20.1 From b88ac20618adc646b23fd9a224d34c13bfda163a Mon Sep 17 00:00:00 2001 From: Aniela Walczak Date: Sat, 19 Mar 2022 15:11:07 +0100 Subject: [PATCH 5/8] =?UTF-8?q?Prze=C5=9Blij=20pliki=20do=20''?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- agenci.py | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ main2.py | 79 +++++++++++++++++++++++++++++++++++++++++++++ stale.py | 33 +++++++++++++++++++ 3 files changed, 207 insertions(+) create mode 100644 agenci.py create mode 100644 main2.py create mode 100644 stale.py diff --git a/agenci.py b/agenci.py new file mode 100644 index 0000000..5e9f3ac --- /dev/null +++ b/agenci.py @@ -0,0 +1,95 @@ +import random + +from stale import * + + +class Agent1: + def __init__(self, hitbox, tekstura, kierunek, droga): + self.hitbox = hitbox + self.tekstura = tekstura + self.kierunek = kierunek + self.droga = droga + + def obierzNowyKierunek(self): + self.kierunek = KIERUNEK(random.randint(0, 3)) + + def okreslDlugoscDrogi(self): + losowa_droga = None + if self.kierunek == KIERUNEK.GORA: + losowa_droga = random.randint(0, self.hitbox.y) + elif self.kierunek == KIERUNEK.DOL: + losowa_droga = random.randint(0, WYSOKOSC_OKNA - self.hitbox.y) + elif self.kierunek == KIERUNEK.LEWO: + losowa_droga = random.randint(0, self.hitbox.x) + elif self.kierunek == KIERUNEK.PRAWO: + losowa_droga = random.randint(0, SZEROKOSC_OKNA - self.hitbox.x) + self.droga = losowa_droga - losowa_droga % KROK_AGENTA1 + + def idzWGore(self): + if self.hitbox.y - KROK_AGENTA1 > 0: + self.hitbox.y -= KROK_AGENTA1 + self.droga -= KROK_AGENTA1 + else: + self.droga = 0 + + def idzWDol(self): + if self.hitbox.y + KROK_AGENTA1 < WYSOKOSC_OKNA - self.hitbox.height: + self.hitbox.y += KROK_AGENTA1 + self.droga -= KROK_AGENTA1 + else: + self.droga = 0 + + def idzWLewo(self): + if self.hitbox.x - KROK_AGENTA1 > 0: + self.hitbox.x -= KROK_AGENTA1 + self.droga -= KROK_AGENTA1 + else: + self.droga = 0 + + def idzWPrawo(self): + if self.hitbox.x + KROK_AGENTA1 < SZEROKOSC_OKNA - self.hitbox.width: + self.hitbox.x += KROK_AGENTA1 + self.droga -= KROK_AGENTA1 + else: + self.droga = 0 + + def czyWszedlesWInnegoAgenta(self, Agenci): + for a in Agenci: + if a.hitbox.colliderect(self.hitbox) and a != self: + return True + return False + + def ruszSie(self, Agenci): + if self.kierunek == KIERUNEK.GORA: + self.idzWGore() + elif self.kierunek == KIERUNEK.DOL: + self.idzWDol() + elif self.kierunek == KIERUNEK.LEWO: + self.idzWLewo() + elif self.kierunek == KIERUNEK.PRAWO: + self.idzWPrawo() + if self.czyWszedlesWInnegoAgenta(Agenci): + self.cofnijSie() + self.zawroc() + self.okreslDlugoscDrogi() + # self.ruszSie(Agenci) + + def cofnijSie(self): + if self.kierunek == KIERUNEK.GORA: + self.idzWDol() + elif self.kierunek == KIERUNEK.DOL: + self.idzWGore() + elif self.kierunek == KIERUNEK.LEWO: + self.idzWPrawo() + elif self.kierunek == KIERUNEK.PRAWO: + self.idzWLewo() + + def zawroc(self): + if self.kierunek == KIERUNEK.GORA: + self.kierunek = KIERUNEK.DOL + elif self.kierunek == KIERUNEK.DOL: + self.kierunek = KIERUNEK.GORA + elif self.kierunek == KIERUNEK.LEWO: + self.kierunek = KIERUNEK.PRAWO + elif self.kierunek == KIERUNEK.PRAWO: + self.kierunek = KIERUNEK.LEWO diff --git a/main2.py b/main2.py new file mode 100644 index 0000000..7544f98 --- /dev/null +++ b/main2.py @@ -0,0 +1,79 @@ +import os + +import pygame +from agenci import * +from stale import * +import stale + +OKNO = pygame.display.set_mode((SZEROKOSC_OKNA, WYSOKOSC_OKNA)) +pygame.display.set_caption("Okno1") +Agenci1 = [] + +def kratka(surface): + for i in range(stale.NUMBER_OF_BLOCKS_WIDE): + new_height=round(i*BLOCK_HEIGHT) + new_width =round(i*BLOCK_HEIGHT) + pygame.draw.line(surface, BLACK,(0,new_height),(SZEROKOSC_OKNA,new_height),2) + pygame.draw.line(surface,BLACK,(new_width,0),(new_width,WYSOKOSC_OKNA),2) + +def wyswietl_okno(): + OKNO.fill(JASNOSZARY1) + for a in Agenci1: + OKNO.blit(a.tekstura, (a.hitbox.x, a.hitbox.y)) + if a.droga == 0: + a.obierzNowyKierunek() + a.okreslDlugoscDrogi() + a.ruszSie(Agenci1) + kratka(OKNO) + pygame.display.update() + + +def dodaj_agenta1(): + los = None + if len(Agenci1) in range(0, 1): + los = random.randint(1, 15) + if los != None: + pom = None + if los in (1, 2) or len(Agenci1) == 0: + pom = 'wozek.png' + elif los in (3, 4): + pom = 'wozek_ze_skrzynka.png' + elif los == 5 and len(Agenci1) > 6: + pom = 'traktor_ikona.png' + if pom != None: + x, y = random.randint(0, SZEROKOSC_OKNA - BOK_AGENTA1), random.randint(0, WYSOKOSC_OKNA - BOK_AGENTA1) + hitbox = pygame.Rect(x, y, BOK_AGENTA1, BOK_AGENTA1) + warunek = True + for a in Agenci1: + if a.hitbox.colliderect(hitbox): + warunek = False + break + if warunek: + ikona = pygame.transform.scale(pygame.image.load(os.path.join('Ikony', pom)), + (BOK_AGENTA1, BOK_AGENTA1)) + Agenci1.append(Agent1(hitbox, ikona, KIERUNEK.GORA, 0)) + +def dodaj_agenta2(): + los = None + if len(Agenci1) in range(0, 1): + los = random.randint(1, 15) + pom = 'wozek.png' + if pom != None: + x, y = random.randint(0, SZEROKOSC_OKNA - BOK_AGENTA1), random.randint(0, WYSOKOSC_OKNA - BOK_AGENTA1) + hitbox = pygame.Rect(x, y, BOK_AGENTA1, BOK_AGENTA1) + +def main(): + klatkaz = pygame.time.Clock() + warunek_dzialania = True + while warunek_dzialania: + klatkaz.tick(FPS) + for event in pygame.event.get(): + if event.type == pygame.QUIT: + warunek_dzialania = False + break + wyswietl_okno() + dodaj_agenta1() + pygame.quit() + + +main() diff --git a/stale.py b/stale.py new file mode 100644 index 0000000..9ec458f --- /dev/null +++ b/stale.py @@ -0,0 +1,33 @@ +from enum import Enum + +FPS = 120 +KROK_AGENTA1 = 2 +SZEROKOSC_OKNA = 1080 +WYSOKOSC_OKNA = 760 +BOK_AGENTA1 = 100 +BIALY = (255, 255, 255) +JASNOSZARY1 = (200, 200, 200) +ZIELONY1 = (26, 122, 26) +GREY =(150,150,150) +RED =(255,0,0) +BLUE=(55,55,255) +BLACK =(0,0,0) +GREEN =(0,200,0) +DARKGREY=(150,150,150) +UGLY_PINK=(255,0,255) +BROWN=(153,76,0) +GOLD=(153,153,0) +DARKGREEN=(0,102,0) +DARKORANGE=(255,128,0) +NUMBER_OF_BLOCKS_WIDE=8 +NUMBER_OF_BLOCKS_HIGH=8 +BLOCK_HEIGHT=round(SZEROKOSC_OKNA/NUMBER_OF_BLOCKS_HIGH) +BLOCK_WIDTH=round(WYSOKOSC_OKNA/NUMBER_OF_BLOCKS_WIDE) +MAPFILE="map.txt" +TITLE ="Gierka" + +class KIERUNEK(Enum): + GORA = 0 + DOL = 1 + LEWO = 2 + PRAWO = 3 -- 2.20.1 From 8d43f8abf6bdc62db06378d82e4a10b09a3e537b Mon Sep 17 00:00:00 2001 From: Dominik Jagosz Date: Tue, 22 Mar 2022 13:26:17 +0100 Subject: [PATCH 6/8] Zaktualizuj 'agent.py' --- agenci.py => agent.py | 190 +++++++++++++++++++++--------------------- 1 file changed, 95 insertions(+), 95 deletions(-) rename agenci.py => agent.py (97%) diff --git a/agenci.py b/agent.py similarity index 97% rename from agenci.py rename to agent.py index 5e9f3ac..509f288 100644 --- a/agenci.py +++ b/agent.py @@ -1,95 +1,95 @@ -import random - -from stale import * - - -class Agent1: - def __init__(self, hitbox, tekstura, kierunek, droga): - self.hitbox = hitbox - self.tekstura = tekstura - self.kierunek = kierunek - self.droga = droga - - def obierzNowyKierunek(self): - self.kierunek = KIERUNEK(random.randint(0, 3)) - - def okreslDlugoscDrogi(self): - losowa_droga = None - if self.kierunek == KIERUNEK.GORA: - losowa_droga = random.randint(0, self.hitbox.y) - elif self.kierunek == KIERUNEK.DOL: - losowa_droga = random.randint(0, WYSOKOSC_OKNA - self.hitbox.y) - elif self.kierunek == KIERUNEK.LEWO: - losowa_droga = random.randint(0, self.hitbox.x) - elif self.kierunek == KIERUNEK.PRAWO: - losowa_droga = random.randint(0, SZEROKOSC_OKNA - self.hitbox.x) - self.droga = losowa_droga - losowa_droga % KROK_AGENTA1 - - def idzWGore(self): - if self.hitbox.y - KROK_AGENTA1 > 0: - self.hitbox.y -= KROK_AGENTA1 - self.droga -= KROK_AGENTA1 - else: - self.droga = 0 - - def idzWDol(self): - if self.hitbox.y + KROK_AGENTA1 < WYSOKOSC_OKNA - self.hitbox.height: - self.hitbox.y += KROK_AGENTA1 - self.droga -= KROK_AGENTA1 - else: - self.droga = 0 - - def idzWLewo(self): - if self.hitbox.x - KROK_AGENTA1 > 0: - self.hitbox.x -= KROK_AGENTA1 - self.droga -= KROK_AGENTA1 - else: - self.droga = 0 - - def idzWPrawo(self): - if self.hitbox.x + KROK_AGENTA1 < SZEROKOSC_OKNA - self.hitbox.width: - self.hitbox.x += KROK_AGENTA1 - self.droga -= KROK_AGENTA1 - else: - self.droga = 0 - - def czyWszedlesWInnegoAgenta(self, Agenci): - for a in Agenci: - if a.hitbox.colliderect(self.hitbox) and a != self: - return True - return False - - def ruszSie(self, Agenci): - if self.kierunek == KIERUNEK.GORA: - self.idzWGore() - elif self.kierunek == KIERUNEK.DOL: - self.idzWDol() - elif self.kierunek == KIERUNEK.LEWO: - self.idzWLewo() - elif self.kierunek == KIERUNEK.PRAWO: - self.idzWPrawo() - if self.czyWszedlesWInnegoAgenta(Agenci): - self.cofnijSie() - self.zawroc() - self.okreslDlugoscDrogi() - # self.ruszSie(Agenci) - - def cofnijSie(self): - if self.kierunek == KIERUNEK.GORA: - self.idzWDol() - elif self.kierunek == KIERUNEK.DOL: - self.idzWGore() - elif self.kierunek == KIERUNEK.LEWO: - self.idzWPrawo() - elif self.kierunek == KIERUNEK.PRAWO: - self.idzWLewo() - - def zawroc(self): - if self.kierunek == KIERUNEK.GORA: - self.kierunek = KIERUNEK.DOL - elif self.kierunek == KIERUNEK.DOL: - self.kierunek = KIERUNEK.GORA - elif self.kierunek == KIERUNEK.LEWO: - self.kierunek = KIERUNEK.PRAWO - elif self.kierunek == KIERUNEK.PRAWO: - self.kierunek = KIERUNEK.LEWO +import random + +from stale import * + + +class Agent1: + def __init__(self, hitbox, tekstura, kierunek, droga): + self.hitbox = hitbox + self.tekstura = tekstura + self.kierunek = kierunek + self.droga = droga + + def obierzNowyKierunek(self): + self.kierunek = KIERUNEK(random.randint(0, 3)) + + def okreslDlugoscDrogi(self): + losowa_droga = None + if self.kierunek == KIERUNEK.GORA: + losowa_droga = random.randint(0, self.hitbox.y) + elif self.kierunek == KIERUNEK.DOL: + losowa_droga = random.randint(0, WYSOKOSC_OKNA - self.hitbox.y) + elif self.kierunek == KIERUNEK.LEWO: + losowa_droga = random.randint(0, self.hitbox.x) + elif self.kierunek == KIERUNEK.PRAWO: + losowa_droga = random.randint(0, SZEROKOSC_OKNA - self.hitbox.x) + self.droga = losowa_droga - losowa_droga % KROK_AGENTA1 + + def idzWGore(self): + if self.hitbox.y - KROK_AGENTA1 > 0: + self.hitbox.y -= KROK_AGENTA1 + self.droga -= KROK_AGENTA1 + else: + self.droga = 0 + + def idzWDol(self): + if self.hitbox.y + KROK_AGENTA1 < WYSOKOSC_OKNA - self.hitbox.height: + self.hitbox.y += KROK_AGENTA1 + self.droga -= KROK_AGENTA1 + else: + self.droga = 0 + + def idzWLewo(self): + if self.hitbox.x - KROK_AGENTA1 > 0: + self.hitbox.x -= KROK_AGENTA1 + self.droga -= KROK_AGENTA1 + else: + self.droga = 0 + + def idzWPrawo(self): + if self.hitbox.x + KROK_AGENTA1 < SZEROKOSC_OKNA - self.hitbox.width: + self.hitbox.x += KROK_AGENTA1 + self.droga -= KROK_AGENTA1 + else: + self.droga = 0 + + def czyWszedlesWInnegoAgenta(self, Agenci): + for a in Agenci: + if a.hitbox.colliderect(self.hitbox) and a != self: + return True + return False + + def ruszSie(self, Agenci): + if self.kierunek == KIERUNEK.GORA: + self.idzWGore() + elif self.kierunek == KIERUNEK.DOL: + self.idzWDol() + elif self.kierunek == KIERUNEK.LEWO: + self.idzWLewo() + elif self.kierunek == KIERUNEK.PRAWO: + self.idzWPrawo() + if self.czyWszedlesWInnegoAgenta(Agenci): + self.cofnijSie() + self.zawroc() + self.okreslDlugoscDrogi() + # self.ruszSie(Agenci) + + def cofnijSie(self): + if self.kierunek == KIERUNEK.GORA: + self.idzWDol() + elif self.kierunek == KIERUNEK.DOL: + self.idzWGore() + elif self.kierunek == KIERUNEK.LEWO: + self.idzWPrawo() + elif self.kierunek == KIERUNEK.PRAWO: + self.idzWLewo() + + def zawroc(self): + if self.kierunek == KIERUNEK.GORA: + self.kierunek = KIERUNEK.DOL + elif self.kierunek == KIERUNEK.DOL: + self.kierunek = KIERUNEK.GORA + elif self.kierunek == KIERUNEK.LEWO: + self.kierunek = KIERUNEK.PRAWO + elif self.kierunek == KIERUNEK.PRAWO: + self.kierunek = KIERUNEK.LEWO -- 2.20.1 From a40fb0a8e31bcce55321f94d0aff0ee79329b903 Mon Sep 17 00:00:00 2001 From: Dominik Jagosz Date: Tue, 22 Mar 2022 13:26:51 +0100 Subject: [PATCH 7/8] Zaktualizuj 'main.py' --- main2.py => main.py | 158 ++++++++++++++++++++++---------------------- 1 file changed, 79 insertions(+), 79 deletions(-) rename main2.py => main.py (96%) diff --git a/main2.py b/main.py similarity index 96% rename from main2.py rename to main.py index 7544f98..f880f93 100644 --- a/main2.py +++ b/main.py @@ -1,79 +1,79 @@ -import os - -import pygame -from agenci import * -from stale import * -import stale - -OKNO = pygame.display.set_mode((SZEROKOSC_OKNA, WYSOKOSC_OKNA)) -pygame.display.set_caption("Okno1") -Agenci1 = [] - -def kratka(surface): - for i in range(stale.NUMBER_OF_BLOCKS_WIDE): - new_height=round(i*BLOCK_HEIGHT) - new_width =round(i*BLOCK_HEIGHT) - pygame.draw.line(surface, BLACK,(0,new_height),(SZEROKOSC_OKNA,new_height),2) - pygame.draw.line(surface,BLACK,(new_width,0),(new_width,WYSOKOSC_OKNA),2) - -def wyswietl_okno(): - OKNO.fill(JASNOSZARY1) - for a in Agenci1: - OKNO.blit(a.tekstura, (a.hitbox.x, a.hitbox.y)) - if a.droga == 0: - a.obierzNowyKierunek() - a.okreslDlugoscDrogi() - a.ruszSie(Agenci1) - kratka(OKNO) - pygame.display.update() - - -def dodaj_agenta1(): - los = None - if len(Agenci1) in range(0, 1): - los = random.randint(1, 15) - if los != None: - pom = None - if los in (1, 2) or len(Agenci1) == 0: - pom = 'wozek.png' - elif los in (3, 4): - pom = 'wozek_ze_skrzynka.png' - elif los == 5 and len(Agenci1) > 6: - pom = 'traktor_ikona.png' - if pom != None: - x, y = random.randint(0, SZEROKOSC_OKNA - BOK_AGENTA1), random.randint(0, WYSOKOSC_OKNA - BOK_AGENTA1) - hitbox = pygame.Rect(x, y, BOK_AGENTA1, BOK_AGENTA1) - warunek = True - for a in Agenci1: - if a.hitbox.colliderect(hitbox): - warunek = False - break - if warunek: - ikona = pygame.transform.scale(pygame.image.load(os.path.join('Ikony', pom)), - (BOK_AGENTA1, BOK_AGENTA1)) - Agenci1.append(Agent1(hitbox, ikona, KIERUNEK.GORA, 0)) - -def dodaj_agenta2(): - los = None - if len(Agenci1) in range(0, 1): - los = random.randint(1, 15) - pom = 'wozek.png' - if pom != None: - x, y = random.randint(0, SZEROKOSC_OKNA - BOK_AGENTA1), random.randint(0, WYSOKOSC_OKNA - BOK_AGENTA1) - hitbox = pygame.Rect(x, y, BOK_AGENTA1, BOK_AGENTA1) - -def main(): - klatkaz = pygame.time.Clock() - warunek_dzialania = True - while warunek_dzialania: - klatkaz.tick(FPS) - for event in pygame.event.get(): - if event.type == pygame.QUIT: - warunek_dzialania = False - break - wyswietl_okno() - dodaj_agenta1() - pygame.quit() - - -main() +import os + +import pygame +from agent import * +from stale import * +import stale + +OKNO = pygame.display.set_mode((SZEROKOSC_OKNA, WYSOKOSC_OKNA)) +pygame.display.set_caption("Okno1") +Agenci1 = [] + +def kratka(surface): + for i in range(stale.NUMBER_OF_BLOCKS_WIDE): + new_height=round(i*BLOCK_HEIGHT) + new_width =round(i*BLOCK_HEIGHT) + pygame.draw.line(surface, BLACK,(0,new_height),(SZEROKOSC_OKNA,new_height),2) + pygame.draw.line(surface,BLACK,(new_width,0),(new_width,WYSOKOSC_OKNA),2) + +def wyswietl_okno(): + OKNO.fill(JASNOSZARY1) + for a in Agenci1: + OKNO.blit(a.tekstura, (a.hitbox.x, a.hitbox.y)) + if a.droga == 0: + a.obierzNowyKierunek() + a.okreslDlugoscDrogi() + a.ruszSie(Agenci1) + kratka(OKNO) + pygame.display.update() + + +def dodaj_agenta1(): + los = None + if len(Agenci1) in range(0, 1): + los = random.randint(1, 15) + if los != None: + pom = None + if los in (1, 2) or len(Agenci1) == 0: + pom = 'wozek.png' + elif los in (3, 4): + pom = 'wozek_ze_skrzynka.png' + elif los == 5 and len(Agenci1) > 6: + pom = 'traktor_ikona.png' + if pom != None: + x, y = random.randint(0, SZEROKOSC_OKNA - BOK_AGENTA1), random.randint(0, WYSOKOSC_OKNA - BOK_AGENTA1) + hitbox = pygame.Rect(x, y, BOK_AGENTA1, BOK_AGENTA1) + warunek = True + for a in Agenci1: + if a.hitbox.colliderect(hitbox): + warunek = False + break + if warunek: + ikona = pygame.transform.scale(pygame.image.load(os.path.join('Ikony', pom)), + (BOK_AGENTA1, BOK_AGENTA1)) + Agenci1.append(Agent1(hitbox, ikona, KIERUNEK.GORA, 0)) + +def dodaj_agenta2(): + los = None + if len(Agenci1) in range(0, 1): + los = random.randint(1, 15) + pom = 'wozek.png' + if pom != None: + x, y = random.randint(0, SZEROKOSC_OKNA - BOK_AGENTA1), random.randint(0, WYSOKOSC_OKNA - BOK_AGENTA1) + hitbox = pygame.Rect(x, y, BOK_AGENTA1, BOK_AGENTA1) + +def main(): + klatkaz = pygame.time.Clock() + warunek_dzialania = True + while warunek_dzialania: + klatkaz.tick(FPS) + for event in pygame.event.get(): + if event.type == pygame.QUIT: + warunek_dzialania = False + break + wyswietl_okno() + dodaj_agenta1() + pygame.quit() + + +main() -- 2.20.1 From dd487ac4fceb476c75f335507c26fafe50b6cd2d Mon Sep 17 00:00:00 2001 From: Dominik Jagosz Date: Tue, 22 Mar 2022 13:46:29 +0100 Subject: [PATCH 8/8] =?UTF-8?q?Czwarta=20pr=C3=B3ba=20scalenia=20kratownic?= =?UTF-8?q?y1=20z=20masterem.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- stale.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stale.py b/stale.py index 62d8244..9b573f8 100644 --- a/stale.py +++ b/stale.py @@ -1,5 +1,5 @@ FPS = 10 - +# # SZEROKOSC_OKNA = 1500 # WYSOKOSC_OKNA = 750 -- 2.20.1