uproszczone generowanie wspolrzednych dla domow

This commit is contained in:
Adam Osiowy 2020-04-06 01:13:11 +02:00
parent bedad874f5
commit 459cc2d1b3
2 changed files with 18 additions and 24 deletions

View File

@ -84,7 +84,7 @@ plansza[4, 4].setJestKontenerem(True)
doms_array = ['resources/plansza/domy/dom1.png', 'resources/plansza/domy/dom2.png',
'resources/plansza/domy/dom3.png', 'resources/plansza/domy/dom4.png', 'resources/plansza/domy/dom5.png']
wspolrzedne_domow = modele.generujWspolrzedneDomow()
wspolrzedne_domow = modele.generujWspolrzedneDomow(10)
domy_lista = pygame.sprite.Group()
smieci_lista = [os.path.join(path, filename)
@ -92,9 +92,9 @@ smieci_lista = [os.path.join(path, filename)
for filename in files]
for i in range(len(wspolrzedne_domow)):
dom = modele.Dom(wspolrzedne_domow[i, 0], wspolrzedne_domow[i, 1])
dom = modele.Dom(wspolrzedne_domow[i][0], wspolrzedne_domow[i][1])
dom.setImage(pygame.image.load(random.choice(doms_array)))
plansza[wspolrzedne_domow[i, 0], wspolrzedne_domow[i, 1]].setJestDomem(True)
plansza[wspolrzedne_domow[i][0], wspolrzedne_domow[i][1]].setJestDomem(True)
for j in range(5):
dom.dodajSmiec(random.choice(smieci_lista))

View File

@ -173,27 +173,21 @@ class Kratka(pygame.sprite.Sprite):
self.kolor = kolor
def generujWspolrzedneDomow():
unikalne = False
wspolrzedne_domow = np.array([[0 for i in range(2)] for j in range(15)])
while not unikalne:
for i in range(15):
wspolrzedne_domow[i, 0] = random.randrange(15)
if wspolrzedne_domow[i, 0] < 5:
wspolrzedne_domow[i, 1] = random.randrange(5, 15)
else:
wspolrzedne_domow[i, 1] = random.randrange(0, 15)
wspolrzedne_domow = np.unique(wspolrzedne_domow, axis=0)
def generujWspolrzedneDomow(ilosc_domow):
wspolrzedne_domow = []
j = 0
while True:
if j >= len(wspolrzedne_domow):
break
if np.sum(wspolrzedne_domow[j, 0] == wspolrzedne_domow[:, 0]) > 1:
wspolrzedne_domow = np.delete(wspolrzedne_domow, j, axis=0)
else:
j += 1
r = len(wspolrzedne_domow)
if len(wspolrzedne_domow) > 5:
unikalne = True
while r < ilosc_domow:
wspolrzedne_domu = []
x = random.randrange(15)
if x < 5:
y = random.randrange(5,15)
else:
y = random.randrange(15)
wspolrzedne_domu.append(x)
wspolrzedne_domu.append(y)
if wspolrzedne_domu not in wspolrzedne_domow:
wspolrzedne_domow.append(wspolrzedne_domu)
r = r + 1
return wspolrzedne_domow