Untitled
unknown
python
2 years ago
2.7 kB
5
Indexable
plik = open("Maze Ola/maze1.2.txt")
dane = plik.read()
import copy
linijki = dane.splitlines()
szachownica = []
for j in range(len(linijki)):
szachownica.append(linijki[j])
szachownica_kopia = []
#for j in range(len(linijki)):
# szachownica_kopia.append(linijki[j])
szachownica_kopia = copy.deepcopy(szachownica)
#print(szachownica)
#sprawdzanie dlugosci linijek
#for i in range(len(szachownica)):
# print(len(szachownica[i]))
def gdzie_moge_pojsc(pozycja_x, pozycja_y, tablica):
wyniki = []
if len(tablica) - 1 > pozycja_y:
if tablica[pozycja_y + 1][pozycja_x] == " ":
wyniki.append('d')
#wyniki += 'd'
#dol
if len(tablica[pozycja_y]) - 1 > pozycja_x:
if tablica[pozycja_y][pozycja_x + 1] == " ":
wyniki.append('p')
#wyniki += 'p'
#prawo
if pozycja_y > 0:
if tablica[pozycja_y - 1][pozycja_x] == " ":
wyniki.append("g")
#wyniki += 'g'
#gora
if pozycja_x > 0:
if tablica[pozycja_y][pozycja_x - 1] == " ":
wyniki.append('l')
#wyniki += 'l'
#lewo
return wyniki
def czy_kolo_w(pozycja_x, pozycja_y, tablica):
if pozycja_y > 0:
if tablica[pozycja_y - 1][pozycja_x] == "W":
return True
#gora
if len(tablica) - 1 > pozycja_y:
if tablica[pozycja_y + 1][pozycja_x] == "W":
return True
#dol
if pozycja_x > 0:
if tablica[pozycja_y][pozycja_x - 1] == "W":
return True
#lewo
if len(tablica[pozycja_y]) - 1 > pozycja_x:
if tablica[pozycja_y][pozycja_x + 1] == "W":
return True
#prawo
return False
pozycja_x = 0
pozycja_y = 0
trasa = []
while not czy_kolo_w(pozycja_x, pozycja_y, szachownica):
opcje = gdzie_moge_pojsc(pozycja_x, pozycja_y, szachownica)
if len(opcje) != 0:
trasa.append([pozycja_x, pozycja_y, opcje])
if opcje[0] == 'd':
pozycja_y += 1
if opcje[0] == 'p':
pozycja_x += 1
if opcje[0] == 'g':
pozycja_y -= 1
if opcje[0] == 'l':
pozycja_x -= 1
trasa[-1][2].pop(0)
else:
pozycja_x = trasa[-1][0]
pozycja_y = trasa[-1][1]
trasa.pop(-1)
print(szachownica[pozycja_y][pozycja_x])
szachownica[pozycja_y][pozycja_x] = '*'
for krok in trasa:
print('.')
#print(szachownica_kopia[krok[1]]krok[0])
szachownica_kopia[1][0] = '#'
for lininika in szachownica_kopia:
for znak in lininika:
print(znak, end='')
print('')Editor is loading...
Leave a Comment