Zaktualizuj 'agent.py'

This commit is contained in:
Dominik Jagosz 2022-03-22 13:26:17 +01:00
parent b88ac20618
commit 8d43f8abf6

View File

@ -1,95 +1,95 @@
import random import random
from stale import * from stale import *
class Agent1: class Agent1:
def __init__(self, hitbox, tekstura, kierunek, droga): def __init__(self, hitbox, tekstura, kierunek, droga):
self.hitbox = hitbox self.hitbox = hitbox
self.tekstura = tekstura self.tekstura = tekstura
self.kierunek = kierunek self.kierunek = kierunek
self.droga = droga self.droga = droga
def obierzNowyKierunek(self): def obierzNowyKierunek(self):
self.kierunek = KIERUNEK(random.randint(0, 3)) self.kierunek = KIERUNEK(random.randint(0, 3))
def okreslDlugoscDrogi(self): def okreslDlugoscDrogi(self):
losowa_droga = None losowa_droga = None
if self.kierunek == KIERUNEK.GORA: if self.kierunek == KIERUNEK.GORA:
losowa_droga = random.randint(0, self.hitbox.y) losowa_droga = random.randint(0, self.hitbox.y)
elif self.kierunek == KIERUNEK.DOL: elif self.kierunek == KIERUNEK.DOL:
losowa_droga = random.randint(0, WYSOKOSC_OKNA - self.hitbox.y) losowa_droga = random.randint(0, WYSOKOSC_OKNA - self.hitbox.y)
elif self.kierunek == KIERUNEK.LEWO: elif self.kierunek == KIERUNEK.LEWO:
losowa_droga = random.randint(0, self.hitbox.x) losowa_droga = random.randint(0, self.hitbox.x)
elif self.kierunek == KIERUNEK.PRAWO: elif self.kierunek == KIERUNEK.PRAWO:
losowa_droga = random.randint(0, SZEROKOSC_OKNA - self.hitbox.x) losowa_droga = random.randint(0, SZEROKOSC_OKNA - self.hitbox.x)
self.droga = losowa_droga - losowa_droga % KROK_AGENTA1 self.droga = losowa_droga - losowa_droga % KROK_AGENTA1
def idzWGore(self): def idzWGore(self):
if self.hitbox.y - KROK_AGENTA1 > 0: if self.hitbox.y - KROK_AGENTA1 > 0:
self.hitbox.y -= KROK_AGENTA1 self.hitbox.y -= KROK_AGENTA1
self.droga -= KROK_AGENTA1 self.droga -= KROK_AGENTA1
else: else:
self.droga = 0 self.droga = 0
def idzWDol(self): def idzWDol(self):
if self.hitbox.y + KROK_AGENTA1 < WYSOKOSC_OKNA - self.hitbox.height: if self.hitbox.y + KROK_AGENTA1 < WYSOKOSC_OKNA - self.hitbox.height:
self.hitbox.y += KROK_AGENTA1 self.hitbox.y += KROK_AGENTA1
self.droga -= KROK_AGENTA1 self.droga -= KROK_AGENTA1
else: else:
self.droga = 0 self.droga = 0
def idzWLewo(self): def idzWLewo(self):
if self.hitbox.x - KROK_AGENTA1 > 0: if self.hitbox.x - KROK_AGENTA1 > 0:
self.hitbox.x -= KROK_AGENTA1 self.hitbox.x -= KROK_AGENTA1
self.droga -= KROK_AGENTA1 self.droga -= KROK_AGENTA1
else: else:
self.droga = 0 self.droga = 0
def idzWPrawo(self): def idzWPrawo(self):
if self.hitbox.x + KROK_AGENTA1 < SZEROKOSC_OKNA - self.hitbox.width: if self.hitbox.x + KROK_AGENTA1 < SZEROKOSC_OKNA - self.hitbox.width:
self.hitbox.x += KROK_AGENTA1 self.hitbox.x += KROK_AGENTA1
self.droga -= KROK_AGENTA1 self.droga -= KROK_AGENTA1
else: else:
self.droga = 0 self.droga = 0
def czyWszedlesWInnegoAgenta(self, Agenci): def czyWszedlesWInnegoAgenta(self, Agenci):
for a in Agenci: for a in Agenci:
if a.hitbox.colliderect(self.hitbox) and a != self: if a.hitbox.colliderect(self.hitbox) and a != self:
return True return True
return False return False
def ruszSie(self, Agenci): def ruszSie(self, Agenci):
if self.kierunek == KIERUNEK.GORA: if self.kierunek == KIERUNEK.GORA:
self.idzWGore() self.idzWGore()
elif self.kierunek == KIERUNEK.DOL: elif self.kierunek == KIERUNEK.DOL:
self.idzWDol() self.idzWDol()
elif self.kierunek == KIERUNEK.LEWO: elif self.kierunek == KIERUNEK.LEWO:
self.idzWLewo() self.idzWLewo()
elif self.kierunek == KIERUNEK.PRAWO: elif self.kierunek == KIERUNEK.PRAWO:
self.idzWPrawo() self.idzWPrawo()
if self.czyWszedlesWInnegoAgenta(Agenci): if self.czyWszedlesWInnegoAgenta(Agenci):
self.cofnijSie() self.cofnijSie()
self.zawroc() self.zawroc()
self.okreslDlugoscDrogi() self.okreslDlugoscDrogi()
# self.ruszSie(Agenci) # self.ruszSie(Agenci)
def cofnijSie(self): def cofnijSie(self):
if self.kierunek == KIERUNEK.GORA: if self.kierunek == KIERUNEK.GORA:
self.idzWDol() self.idzWDol()
elif self.kierunek == KIERUNEK.DOL: elif self.kierunek == KIERUNEK.DOL:
self.idzWGore() self.idzWGore()
elif self.kierunek == KIERUNEK.LEWO: elif self.kierunek == KIERUNEK.LEWO:
self.idzWPrawo() self.idzWPrawo()
elif self.kierunek == KIERUNEK.PRAWO: elif self.kierunek == KIERUNEK.PRAWO:
self.idzWLewo() self.idzWLewo()
def zawroc(self): def zawroc(self):
if self.kierunek == KIERUNEK.GORA: if self.kierunek == KIERUNEK.GORA:
self.kierunek = KIERUNEK.DOL self.kierunek = KIERUNEK.DOL
elif self.kierunek == KIERUNEK.DOL: elif self.kierunek == KIERUNEK.DOL:
self.kierunek = KIERUNEK.GORA self.kierunek = KIERUNEK.GORA
elif self.kierunek == KIERUNEK.LEWO: elif self.kierunek == KIERUNEK.LEWO:
self.kierunek = KIERUNEK.PRAWO self.kierunek = KIERUNEK.PRAWO
elif self.kierunek == KIERUNEK.PRAWO: elif self.kierunek == KIERUNEK.PRAWO:
self.kierunek = KIERUNEK.LEWO self.kierunek = KIERUNEK.LEWO