dodany wybór osoby
61
game.py
@ -7,6 +7,18 @@ import shutil
|
||||
import astar
|
||||
import uczenie_kacper as kacper
|
||||
|
||||
smieci_path = ''
|
||||
|
||||
# PODAJ OSOBE PRZED URUCHOMIENIEM (kacper/adamB/adamO)
|
||||
osoba = 'kacper'
|
||||
|
||||
if osoba == 'kacper':
|
||||
smieci_path = 'resources/smieci'
|
||||
elif osoba == 'adamB':
|
||||
smieci_path = 'resources/smieci_stare'
|
||||
else:
|
||||
smieci_path = 'resources/smieci_stare'
|
||||
|
||||
pygame.init()
|
||||
|
||||
# kolory
|
||||
@ -32,18 +44,13 @@ ILOSC_KOLUMN = 15
|
||||
WINDOW_SIZE = [1300, 980]
|
||||
|
||||
|
||||
# TEST DODAWANIA SMIECI Z POJEDYNCZEGO DOMU DO FOLDERU KONTENERA ZE SZKLEM
|
||||
# for d in lista_domow:
|
||||
# for s in d.smieci:
|
||||
# kontener_szklo.dodajSmiec(s)
|
||||
|
||||
def game():
|
||||
obiekty = utworzObiekty()
|
||||
nieodwiedzone_domy = obiekty["wspolrzedne_domow"]
|
||||
nieodwiedzone_kontenery = [(obiekty["kontener_szklo"].x, obiekty["kontener_szklo"].y),
|
||||
(obiekty["kontener_papier"].x, obiekty["kontener_papier"].y),
|
||||
(obiekty["kontener_metal"].x, obiekty["kontener_metal"].y),
|
||||
(obiekty["kontener_plastik"].x, obiekty["kontener_plastik"].y),]
|
||||
(obiekty["kontener_plastik"].x, obiekty["kontener_plastik"].y), ]
|
||||
# Petla az uzytkownik zamknie program
|
||||
done = False
|
||||
clock = pygame.time.Clock()
|
||||
@ -52,9 +59,9 @@ def game():
|
||||
while not done:
|
||||
|
||||
# obsluga zdarzen typu nacisniecie klawisza lub przycisku myszy
|
||||
for event in pygame.event.get(): # User did something
|
||||
if event.type == pygame.QUIT: # If user clicked close
|
||||
done = True # Flag that we are done so we exit this loop
|
||||
for event in pygame.event.get():
|
||||
if event.type == pygame.QUIT:
|
||||
done = True
|
||||
elif event.type == pygame.MOUSEBUTTONDOWN:
|
||||
# Zapisywanie pozycji myszki po kliknieciu
|
||||
pozycja_myszki = pygame.mouse.get_pos()
|
||||
@ -68,7 +75,7 @@ def game():
|
||||
if event.key == pygame.K_LEFT:
|
||||
obiekty["smieciarka"].w_lewo()
|
||||
if event.key == pygame.K_RIGHT:
|
||||
#kacper.trainModel()
|
||||
# kacper.trainModel()
|
||||
obiekty["smieciarka"].w_prawo()
|
||||
if event.key == pygame.K_UP:
|
||||
obiekty["smieciarka"].w_gore()
|
||||
@ -77,16 +84,25 @@ def game():
|
||||
|
||||
rysowaniePlanszy(obiekty)
|
||||
while nieodwiedzone_domy:
|
||||
nieodwiedzone_domy.sort(key=lambda x: astar.heurystyka((obiekty["smieciarka"].x, obiekty["smieciarka"].y), x))
|
||||
nieodwiedzone_domy.sort(
|
||||
key=lambda x: astar.heurystyka((obiekty["smieciarka"].x, obiekty["smieciarka"].y), x))
|
||||
cel = nieodwiedzone_domy.pop(0)
|
||||
obiekty["smieciarka"].astar_move(obiekty, (obiekty["smieciarka"].x, obiekty["smieciarka"].y), cel)
|
||||
obiekty["smieciarka"].astar_move(obiekty, (obiekty["smieciarka"].x, obiekty["smieciarka"].y), cel)
|
||||
pozX = cel[0]
|
||||
pozY = cel[1]
|
||||
for dom in obiekty["domy"]:
|
||||
if dom.x == pozX and dom.y == pozY:
|
||||
while dom.smieci:
|
||||
smiec = dom.smieci.pop(0)
|
||||
rodzaj = kacper.przewidz(smiec)
|
||||
|
||||
rodzaj = ""
|
||||
if osoba == 'kacper':
|
||||
rodzaj = kacper.przewidz(smiec)
|
||||
elif osoba == 'adamB':
|
||||
pass
|
||||
else:
|
||||
pass
|
||||
|
||||
if rodzaj == "paper":
|
||||
obiekty["smieciarka"].dodajPapier(smiec)
|
||||
elif rodzaj == "glass":
|
||||
@ -97,7 +113,8 @@ def game():
|
||||
obiekty["smieciarka"].dodajPlastik(smiec)
|
||||
|
||||
while nieodwiedzone_kontenery:
|
||||
nieodwiedzone_kontenery.sort(key=lambda x: astar.heurystyka((obiekty["smieciarka"].x, obiekty["smieciarka"].y), x))
|
||||
nieodwiedzone_kontenery.sort(
|
||||
key=lambda x: astar.heurystyka((obiekty["smieciarka"].x, obiekty["smieciarka"].y), x))
|
||||
cel = nieodwiedzone_kontenery.pop(0)
|
||||
obiekty["smieciarka"].astar_move(obiekty, (obiekty["smieciarka"].x, obiekty["smieciarka"].y), cel)
|
||||
pozX = cel[0]
|
||||
@ -194,12 +211,6 @@ def utworzObiekty():
|
||||
plansza[0, 4].setJestKontenerem(True)
|
||||
plansza[0, 4].setObiekt(kontener_metal)
|
||||
|
||||
# kontener_organiczne = modele.Kontener(2, 2, "pozostale")
|
||||
# kontener_organiczne.setImage(pygame.image.load(
|
||||
# "resources/plansza/pojemnik_organiczne.png"))
|
||||
# plansza[2, 2].setJestKontenerem(True)
|
||||
# plansza[2, 2].setObiekt(kontener_organiczne)
|
||||
|
||||
kontener_papier = modele.Kontener(4, 0, "papier")
|
||||
kontener_papier.setImage(pygame.image.load(
|
||||
"resources/plansza/pojemnik_papier.png"))
|
||||
@ -220,7 +231,7 @@ def utworzObiekty():
|
||||
domy_lista = pygame.sprite.Group()
|
||||
|
||||
smieci_lista = [os.path.join(path, filename)
|
||||
for path, dirs, files in os.walk("resources/smieci")
|
||||
for path, dirs, files in os.walk(smieci_path)
|
||||
for filename in files]
|
||||
|
||||
# informacje o ilosci smieci w domach
|
||||
@ -238,18 +249,10 @@ def utworzObiekty():
|
||||
all_sprites_list.add(dom)
|
||||
|
||||
lista_domow = domy_lista.sprites()
|
||||
acc = 0
|
||||
for d in lista_domow:
|
||||
for j in range(5):
|
||||
smiec = random.choice(smieci_lista)
|
||||
d.dodajSmiec(smiec)
|
||||
# print('')
|
||||
# print(smiec)
|
||||
# print(kacper.przewidz(smiec))
|
||||
# if kacper.przewidz(smiec) in smiec:
|
||||
# acc += 1
|
||||
# smieci_lista.remove(smiec)
|
||||
# print(acc)
|
||||
|
||||
# ustawienie wysypiska, rozmiar wysypiska 5x5
|
||||
for i in range(5):
|
||||
|
@ -58,7 +58,7 @@ class Smieciarka(pygame.sprite.Sprite):
|
||||
def astar_move(self, obiekty, start, cel):
|
||||
|
||||
sciezka = astar.astar(obiekty, start, (cel[0], cel[1]))
|
||||
print(sciezka)
|
||||
# print(sciezka)
|
||||
if sciezka:
|
||||
for koord in sciezka:
|
||||
if koord[0] == self.x - 1 and koord[1] == self.y:
|
||||
|
BIN
resources/smieci w kontenerach/metal/google-image(0085).jpeg
Normal file
After Width: | Height: | Size: 9.4 KiB |
BIN
resources/smieci w kontenerach/metal/google-image(0141).jpeg
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
resources/smieci w kontenerach/metal/google-image(0169).jpeg
Normal file
After Width: | Height: | Size: 43 KiB |
BIN
resources/smieci w kontenerach/metal/google-image(0179).jpeg
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
resources/smieci w kontenerach/metal/google-image(0434).jpeg
Normal file
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 17 KiB |
BIN
resources/smieci w kontenerach/papier/IMG_20170408_221337.jpg
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
resources/smieci w kontenerach/papier/google-image(0055).jpeg
Normal file
After Width: | Height: | Size: 118 KiB |
BIN
resources/smieci w kontenerach/papier/google-image(0136).jpeg
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
resources/smieci w kontenerach/papier/google-image(0194).jpeg
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
resources/smieci w kontenerach/papier/google-image(0271).jpeg
Normal file
After Width: | Height: | Size: 42 KiB |
BIN
resources/smieci w kontenerach/papier/google-image(0532).jpeg
Normal file
After Width: | Height: | Size: 82 KiB |
BIN
resources/smieci w kontenerach/papier/hG24Xu3cdM8.jpg
Normal file
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 6.0 KiB |
After Width: | Height: | Size: 20 KiB |
BIN
resources/smieci w kontenerach/plastik/google-image(0045).jpeg
Normal file
After Width: | Height: | Size: 8.9 KiB |
BIN
resources/smieci w kontenerach/plastik/google-image(0057).jpeg
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
resources/smieci w kontenerach/plastik/google-image(0059).jpeg
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
resources/smieci w kontenerach/plastik/google-image(0107).jpeg
Normal file
After Width: | Height: | Size: 37 KiB |
BIN
resources/smieci w kontenerach/plastik/google-image(0141).jpeg
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
resources/smieci w kontenerach/plastik/google-image(0151).jpeg
Normal file
After Width: | Height: | Size: 5.7 KiB |
BIN
resources/smieci w kontenerach/plastik/google-image(0171_3).jpeg
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
resources/smieci w kontenerach/plastik/google-image(0184).jpeg
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
resources/smieci w kontenerach/plastik/google-image(0193).jpeg
Normal file
After Width: | Height: | Size: 8.0 KiB |
BIN
resources/smieci w kontenerach/plastik/google-image(0249).jpeg
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
resources/smieci w kontenerach/plastik/google-image(0311).jpeg
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
resources/smieci w kontenerach/plastik/google-image(0312).jpeg
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
resources/smieci w kontenerach/plastik/google-image(0378).jpeg
Normal file
After Width: | Height: | Size: 8.1 KiB |
BIN
resources/smieci w kontenerach/plastik/google-image(0380)_2.jpeg
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
resources/smieci w kontenerach/plastik/google-image(0462).jpeg
Normal file
After Width: | Height: | Size: 5.0 KiB |
BIN
resources/smieci w kontenerach/plastik/google-image(0615).jpeg
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
resources/smieci w kontenerach/plastik/google-image(0627).jpeg
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
resources/smieci w kontenerach/plastik/google-image(0641)_2.jpeg
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
resources/smieci w kontenerach/szklo/KsncTC084n8.jpg
Normal file
After Width: | Height: | Size: 9.3 KiB |
BIN
resources/smieci w kontenerach/szklo/google-image(0017).jpeg
Normal file
After Width: | Height: | Size: 4.1 KiB |
BIN
resources/smieci w kontenerach/szklo/google-image(0034).jpeg
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
resources/smieci w kontenerach/szklo/google-image(0070).jpeg
Normal file
After Width: | Height: | Size: 5.7 KiB |
BIN
resources/smieci w kontenerach/szklo/google-image(0079).jpeg
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
resources/smieci w kontenerach/szklo/google-image(0087).jpeg
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
resources/smieci w kontenerach/szklo/google-image(0106).jpeg
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
resources/smieci w kontenerach/szklo/google-image(0157).jpeg
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
resources/smieci w kontenerach/szklo/google-image(0265).jpeg
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
resources/smieci w kontenerach/szklo/google-image(0267).jpeg
Normal file
After Width: | Height: | Size: 3.9 KiB |
BIN
resources/smieci w kontenerach/szklo/google-image(0308).jpeg
Normal file
After Width: | Height: | Size: 8.2 KiB |
BIN
resources/smieci w kontenerach/szklo/google-image(0418).jpeg
Normal file
After Width: | Height: | Size: 9.4 KiB |