trzecia próba scalenia kratownicy1 z masterem #6
117
agent.py
117
agent.py
@ -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
|
|
58
stale.py
58
stale.py
@ -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"
|
Loading…
Reference in New Issue
Block a user