trzecia próba scalenia kratownicy1 z masterem #6

Closed
s464871 wants to merge 9 commits from master into kratownica1
2 changed files with 38 additions and 137 deletions

117
agent.py
View File

@ -1,117 +0,0 @@
import random
from krata import *
class Agent:
bok = BOK_AGENTA1
bokWPolach = BOK_AGENTA1_W_POLACH
def __init__(self, Krata, poleStartoweGorne, tekstura):
self.krata = Krata
self.poleStartoweGorne = poleStartoweGorne
self.tekstura = tekstura
self.okreslPolozenie()
self.obierzNowyKierunek()
self.okreslDlugoscDrogi()
Krata.agent = self
def ruszSie(self):
if self.droga <= 0:
self.obierzNowyKierunek()
self.okreslDlugoscDrogi()
self.zrobKrokWMoimKierunku()
self.droga -= 1
self.okreslPolozenie()
if self.wyszedlemPozaKrate():
self.cofnijSie()
self.zawroc()
self.okreslDlugoscDrogi()
def obierzNowyKierunek(self):
self.kierunek = Kierunek(random.randint(0, 3))
if self.maxDlugoscDrogiWMoimKierunku() < 1:
self.obierzNowyKierunek()
def okreslDlugoscDrogi(self):
self.droga = random.randint(1, self.maxDlugoscDrogiWMoimKierunku())
def cofnijSie(self):
self.zrobKrokWOdwrotnymKierunku()
self.okreslPolozenie()
def okreslPolozenie(self):
self.okreslPoleKoncoweDolne()
self.okreslHitbox()
def okreslHitbox(self):
self.hitbox = pygame.Rect(self.poleStartoweGorne.start, self.poleStartoweGorne.gora, self.bok, self.bok)
def okreslPoleKoncoweDolne(self):
wiersz = self.poleStartoweGorne.wiersz + self.bokWPolach - 1
kolumna = self.poleStartoweGorne.kolumna + self.bokWPolach - 1
self.poleKoncoweDolne = PoleKraty(self.krata, wiersz, kolumna)
def wyszedlemPozaKrate(self):
if self.poleStartoweGorne.wiersz < 0:
return True
elif self.poleKoncoweDolne.wiersz > self.krata.liczbaPolPionowo - 1:
return True
elif self.poleStartoweGorne.kolumna < 0:
return True
elif self.poleKoncoweDolne.kolumna > self.krata.liczbaPolPoziomo - 1:
return True
else:
return False
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
def maxDlugoscDrogiWMoimKierunku(self):
if self.kierunek == Kierunek.GORA:
return self.poleStartoweGorne.wiersz
elif self.kierunek == Kierunek.DOL:
return self.krata.liczbaPolPionowo - self.poleKoncoweDolne.wiersz - 1
elif self.kierunek == Kierunek.LEWO:
return self.poleStartoweGorne.kolumna
elif self.kierunek == Kierunek.PRAWO:
return self.krata.liczbaPolPoziomo - self.poleKoncoweDolne.kolumna - 1
def zrobKrokWMoimKierunku(self):
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()
def zrobKrokWOdwrotnymKierunku(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 idzWGore(self):
self.poleStartoweGorne.wiersz -= 1
def idzWDol(self):
self.poleStartoweGorne.wiersz += 1
def idzWLewo(self):
self.poleStartoweGorne.kolumna -= 1
def idzWPrawo(self):
self.poleStartoweGorne.kolumna += 1

View File

@ -1,20 +1,38 @@
FPS = 10 FPS = 10
#
# SZEROKOSC_OKNA = 1500 # SZEROKOSC_OKNA = 1500
# WYSOKOSC_OKNA = 750 # WYSOKOSC_OKNA = 750
LICZBA_POL_W_POZIOMIE = 60 LICZBA_POL_W_POZIOMIE = 60
LICZBA_POL_W_PIONIE = 30 LICZBA_POL_W_PIONIE = 30
BOK_POLA = 20 BOK_POLA = 20
ODSTEP_MIEDZY_POLAMI = 2 ODSTEP_MIEDZY_POLAMI = 2
SZEROKOSC_OKNA = LICZBA_POL_W_POZIOMIE * (BOK_POLA + ODSTEP_MIEDZY_POLAMI) + ODSTEP_MIEDZY_POLAMI 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 WYSOKOSC_OKNA = LICZBA_POL_W_PIONIE * (BOK_POLA + ODSTEP_MIEDZY_POLAMI) + ODSTEP_MIEDZY_POLAMI
BOK_AGENTA1_W_POLACH = 3 BOK_AGENTA1_W_POLACH = 3
BOK_AGENTA1 = BOK_AGENTA1_W_POLACH * (BOK_POLA + ODSTEP_MIEDZY_POLAMI) - ODSTEP_MIEDZY_POLAMI BOK_AGENTA1 = BOK_AGENTA1_W_POLACH * (BOK_POLA + ODSTEP_MIEDZY_POLAMI) - ODSTEP_MIEDZY_POLAMI
KROK_AGENTA1 = 2 KROK_AGENTA1 = 2
BIALY = (255, 255, 255) BIALY = (255, 255, 255)
JASNOSZARY1 = (200, 200, 200) JASNOSZARY1 = (200, 200, 200)
SZARY1 = (150, 150, 150) SZARY1 = (150, 150, 150)
ZIELONY1 = (26, 122, 26) 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"