Untitled
unknown
python
a year ago
2.7 kB
4
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