2022-03-07 20:41:12 +01:00
import os
2022-03-21 22:12:01 +01:00
from agent import *
2022-03-27 23:08:35 +02:00
from ramy_czyli_wiedza_agenta import *
2022-04-06 14:05:40 +02:00
# aby działalo w oknie + rozdzielczość ekranu
# ctypes.windll.shcore.SetProcessDpiAwareness(1)
2022-03-07 20:41:12 +01:00
2022-03-21 22:05:28 +01:00
Okno = pygame . display . set_mode ( ( SZEROKOSC_OKNA , WYSOKOSC_OKNA ) )
2022-03-07 20:41:12 +01:00
pygame . display . set_caption ( " Okno1 " )
2022-03-21 22:05:28 +01:00
Krata = Krata ( Okno )
2022-04-06 14:05:40 +02:00
Pomieszczenie = Pomieszczenie ( WarunkiPowietrza ( 0 , 0 ) , 0 )
2022-03-22 11:20:58 +01:00
2022-03-21 22:05:28 +01:00
def dodaj_agenta ( ) :
2022-03-22 21:52:05 +01:00
# pole_lewe_gorne = PoleKraty(Krata, random.randint(0, LICZBA_POL_W_PIONIE - BOK_AGENTA1_W_POLACH),
# random.randint(0, LICZBA_POL_W_POZIOMIE - BOK_AGENTA1_W_POLACH))
2022-04-06 14:05:40 +02:00
# pole_lewe_gorne = PoleKraty(Krata, LICZBA_POL_W_PIONIE - BOK_AGENTA1_W_POLACH, int(LICZBA_POL_W_POZIOMIE / 2))
pole_lewe_gorne = PoleKraty ( Krata , 0 , 0 )
2022-03-22 21:52:05 +01:00
pom = ' traktor_ikona.png '
2022-03-21 22:05:28 +01:00
ikona = pygame . transform . scale ( pygame . image . load ( os . path . join ( ' Ikony ' , pom ) ) ,
( BOK_AGENTA1 , BOK_AGENTA1 ) )
2022-03-22 11:20:58 +01:00
Agent ( Krata , pole_lewe_gorne , ikona )
2022-04-06 14:05:40 +02:00
# zawsze na poczatku polnoc
Krata . agent . kierunek = Kierunek . POLNOC
2022-03-09 12:27:02 +01:00
2022-04-06 14:05:40 +02:00
def dodaj_szafke ( numerSzafki , iloscPolek , iloscMiejscNaPolce , dostepZeStrony , poczatek_wiersz , poczatek_kolumna ) :
2022-03-27 23:08:35 +02:00
wymiary_szafki = Wymiary ( 0 , 0 , 0 )
2022-04-06 14:05:40 +02:00
szafka = Szafka ( numerSzafki , wymiary_szafki , iloscPolek , iloscMiejscNaPolce , dostepZeStrony , poczatek_wiersz ,
poczatek_kolumna , Krata )
2022-03-27 23:08:35 +02:00
Pomieszczenie . dodajSzafke ( szafka )
2022-04-06 14:05:40 +02:00
def losowy_cel ( ) :
kierunek = Kierunek ( random . randint ( 0 , 3 ) )
wiersz = random . randint ( - 1 , Krata . liczbaPolPionowo - 1 )
kolumna = random . randint ( - 1 , Krata . liczbaPolPoziomo - 1 )
Krata . krata [ wiersz ] [ kolumna ] = ZawartoscPola . CEL
return Stan ( kierunek , PoleKraty ( Krata , wiersz , kolumna ) )
2022-03-08 23:00:29 +01:00
def main ( ) :
2022-04-06 14:05:40 +02:00
dodaj_szafke ( " A " , 2 , 12 , " P " , 2 , 2 )
dodaj_szafke ( " B " , 2 , 12 , " L " , 2 , 3 )
dodaj_szafke ( " C " , 2 , 5 , " P " , 1 , 6 )
dodaj_szafke ( " D " , 2 , 6 , " L " , 1 , 7 )
dodaj_szafke ( " C " , 2 , 4 , " P " , 9 , 6 )
dodaj_szafke ( " D " , 2 , 3 , " L " , 10 , 7 )
dodaj_szafke ( " E " , 2 , 8 , " P " , 3 , 11 )
dodaj_szafke ( " F " , 2 , 10 , " L " , 2 , 13 )
dodaj_szafke ( " H " , 2 , 12 , " L " , 1 , 18 )
dodaj_szafke ( " I " , 2 , 7 , " P " , 5 , 23 )
dodaj_szafke ( " J " , 2 , 12 , " L " , 1 , 25 )
dodaj_szafke ( " G " , 2 , 10 , " P " , 5 , 29 )
2022-03-22 11:20:58 +01:00
dodaj_agenta ( )
2022-04-06 14:05:40 +02:00
# Krata.wyswietlKrate()
2022-04-04 16:28:25 +02:00
2022-03-08 23:00:29 +01:00
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
2022-04-06 14:05:40 +02:00
# cel to Stan (pole kraty gdzie ma stać agent, aby położyć paczkę na półkę, w obiekcie klasy Miejsce jest to artybut dostęp + kierunek <-na razie niepotrzebny)
if Krata . agent . cel is None :
Krata . agent . cel = losowy_cel ( )
Krata . krata [ Krata . agent . cel . poleStartoweGorne . wiersz ] [
Krata . agent . cel . poleStartoweGorne . kolumna ] = ZawartoscPola . CEL
print ( " CEL: " , Krata . agent . cel . poleStartoweGorne . wiersz , Krata . agent . cel . poleStartoweGorne . kolumna )
Krata . agent . idzDoCelu ( klatkaz )
2022-03-08 23:00:29 +01:00
pygame . quit ( )
2022-03-08 18:38:43 +01:00
2022-03-07 20:41:12 +01:00
2022-03-08 23:00:29 +01:00
main ( )