def tK(startx, starty, Bewegung1, Bewegung2, maxitt): startpos = (startx, starty, Feld.wert(startx, starty)) b = (Bewegung1, Bewegung2) Besucht = tuple([startpos]) Besuchtx = [startpos[0]] Besuchty = [startpos[1]] Besuchtwert = [startpos[2]] pos = startpos frei = True i = 0 while ((i < maxitt) and (frei)): frei = False i = i + 1 #mögliche nächste Positionen möglpos = [(pos[0] + b[0], pos[1] + b[1], Feld.wert(pos[0] + b[0], pos[1] + b[1])), (pos[0] + b[0], pos[1] - b[1], Feld.wert(pos[0] + b[0], pos[1] - b[1])), (pos[0] - b[0], pos[1] + b[1], Feld.wert(pos[0] - b[0], pos[1] + b[1])), (pos[0] - b[0], pos[1] - b[1], Feld.wert(pos[0] - b[0], pos[1] - b[1])), (pos[0] + b[1], pos[1] + b[0], Feld.wert(pos[0] + b[1], pos[1] + b[0])), (pos[0] + b[1], pos[1] - b[0], Feld.wert(pos[0] + b[1], pos[1] - b[0])), (pos[0] - b[1], pos[1] + b[0], Feld.wert(pos[0] - b[1], pos[1] + b[0])), (pos[0] - b[1], pos[1] - b[0], Feld.wert(pos[0] - b[1], pos[1] - b[0]))] Sort.BubbleList(möglpos) for j in möglpos: if (not (j in Besucht)): pos = j Besucht = Besucht + tuple([j]) Besuchtx = Besuchtx + [j[0]] Besuchty = Besuchty + [j[1]] Besuchtwert = Besuchtwert + [j[2]] frei = True break return [Besucht, Besuchtx, Besuchty, Besuchtwert, [pos, i]]