dodana informacja o odwiedzonych domach

This commit is contained in:
Adam Osiowy 2020-04-06 18:57:35 +02:00
parent e43c07446a
commit ab33078039
2 changed files with 32 additions and 2 deletions

View File

@ -113,8 +113,9 @@ def liczSmieci(domy):
text_plastik = font.render("Plastik: " + str(ile_plastiku), True, WHITE)
text_szklo = font.render("Szkło: " + str(ile_szkla), True, WHITE)
text_pozostale = font.render("Pozostałe: " + str(ile_pozostalych), True, WHITE)
text_odwiedzone_domy = font.render("Odwiedzone domy: " + str(smieciarka.getOdwiedzoneDomy()),True,WHITE)
return text_metal, text_papier, text_plastik, text_szklo, text_pozostale;
return text_metal, text_papier, text_plastik, text_szklo, text_pozostale,text_odwiedzone_domy
for i in range(len(wspolrzedne_domow)):
dom = modele.Dom(wspolrzedne_domow[i][0], wspolrzedne_domow[i][1])
@ -211,7 +212,7 @@ def game():
all_sprites_list.draw(obraz)
smieciarka.rand_move()
text_metal, text_papier, text_plastik, text_szklo, text_pozostale = liczSmieci(lista_domow)
text_metal, text_papier, text_plastik, text_szklo, text_pozostale, text_odwiedzone_domy = liczSmieci(lista_domow)
obraz.blit(text_pozostalo,
(1020, 240))
obraz.blit(text_metal, (1020, 280))
@ -219,6 +220,7 @@ def game():
obraz.blit(text_szklo, (1020, 360))
obraz.blit(text_papier, (1020, 400))
obraz.blit(text_pozostale, (1020, 440))
obraz.blit(text_odwiedzone_domy, (1020,480))
pygame.display.flip()
pygame.quit()

View File

@ -31,6 +31,8 @@ class Smieciarka(pygame.sprite.Sprite):
self.papier = []
self.metal = []
self.pozostale = []
self.odwiedzone_domy = 0
self.wspolrzedne_odwiedzonych_domow = []
pygame.sprite.Sprite.__init__(self)
self.rect = pygame.Rect(self.x * WIDTH + MARGIN * self.x + MARGIN, self.y * HEIGHT + MARGIN * self.y, WIDTH,
HEIGHT)
@ -49,6 +51,11 @@ class Smieciarka(pygame.sprite.Sprite):
def w_lewo(self):
if self.x > 0:
if game.plansza[self.x - 1, self.y].jestPrzeszkoda is not True:
if game.plansza[self.x - 1, self.y].jestDomem is True:
if [self.x - 1, self.y] not in self.wspolrzedne_odwiedzonych_domow:
self.wspolrzedne_odwiedzonych_domow.append([self.x - 1, self.y])
#print(self.wspolrzedne_odwiedzonych_domow)
self.zwiekszIloscOdwiedzonychDomow()
self.x -= 1
game.plansza[self.x, self.y].setKolor(BLUE)
self.rect.x = MARGIN + self.x * WIDTH + self.x * MARGIN
@ -60,6 +67,11 @@ class Smieciarka(pygame.sprite.Sprite):
def w_prawo(self):
if self.x < 14:
if game.plansza[self.x + 1, self.y].jestPrzeszkoda is not True:
if game.plansza[self.x + 1, self.y].jestDomem is True:
if [self.x + 1, self.y] not in self.wspolrzedne_odwiedzonych_domow:
self.wspolrzedne_odwiedzonych_domow.append([self.x + 1, self.y])
#print(self.wspolrzedne_odwiedzonych_domow)
self.zwiekszIloscOdwiedzonychDomow()
self.x += 1
game.plansza[self.x, self.y].setKolor(BLUE)
self.rect.x = MARGIN + self.x * WIDTH + self.x * MARGIN
@ -70,6 +82,11 @@ class Smieciarka(pygame.sprite.Sprite):
def w_gore(self):
if self.y > 0:
if game.plansza[self.x, self.y - 1].jestPrzeszkoda is not True:
if game.plansza[self.x, self.y - 1].jestDomem is True:
if [self.x, self.y - 1] not in self.wspolrzedne_odwiedzonych_domow:
self.wspolrzedne_odwiedzonych_domow.append([self.x, self.y - 1])
#print(self.wspolrzedne_odwiedzonych_domow)
self.zwiekszIloscOdwiedzonychDomow()
self.y -= 1
game.plansza[self.x, self.y].setKolor(BLUE)
self.rect.y = self.y * HEIGHT + self.y * MARGIN
@ -77,6 +94,11 @@ class Smieciarka(pygame.sprite.Sprite):
def w_dol(self):
if self.y < 14:
if game.plansza[self.x, self.y + 1].jestPrzeszkoda is not True:
if game.plansza[self.x, self.y + 1].jestDomem is True:
if [self.x, self.y + 1] not in self.wspolrzedne_odwiedzonych_domow:
self.wspolrzedne_odwiedzonych_domow.append([self.x, self.y + 1])
#print(self.wspolrzedne_odwiedzonych_domow)
self.zwiekszIloscOdwiedzonychDomow()
self.y += 1
game.plansza[self.x, self.y].setKolor(BLUE)
self.rect.y = self.y * HEIGHT + self.y * MARGIN
@ -93,6 +115,12 @@ class Smieciarka(pygame.sprite.Sprite):
def dodajMetal(self, smiec):
self.metal.append(smiec)
def zwiekszIloscOdwiedzonychDomow(self):
self.odwiedzone_domy += 1
def getOdwiedzoneDomy(self):
return self.odwiedzone_domy
class Dom(pygame.sprite.Sprite):
def __init__(self, x, y):