Es geht um den Pledge-Algorithmus, bei dem es darauf ankommt, aus einem beliebigen Labyrinth herauszukommen.
Meine Partnerin und ich dachten uns, dass wir das unserem Kurs am besten am Beispiel von Kara veranschaulichen, allerdings will sich der ''süße Marienkäfer'' nicht drehen, wenn ein Baum rechts von ihr steht.^^ Wir haben alles versucht es IRGENDWIE mit hineinzubekommen, aber was passiert? Sie bleibt einfach stur stehen.
Ich hoffe uns kann jemand helfen.
Code: Alles auswählen
def drehung(u):
kara.turnRight()
if not kara.treeFront() and not kara.onLeaf():
kara.move()
if kara.treeLeft() and not kara.treeFront():
u += 1
# kara.putLeaf()
else:
kara.turnLeft()
kara.turnLeft()
if not kara.onLeaf():
kara.move()
if not kara.treeFront() and not kara.onLeaf():
kara.move()
if kara.treeLeft() and not kara.treeFront():
u -=1
#kara.putLeaf()
return u
first = 1
umdrehungen = 0
while not kara.mushroomFront():
#gerade bis wand:
while not kara.treeFront() and not kara.mushroomFront():
kara.move()
first = 1
#kara.putLeaf()
#wand folgen, bis umdrehungen ==0:
while ((not umdrehungen == 0) or (first ==1)) and not kara.mushroomFront():
first = 0
umdrehungen = drehung(umdrehungen)
#print(umdrehungen)
while (kara.treeRight() or kara.treeLeft()) and not kara.treeFront() and not kara.mushroomFront():
kara.move()
#umdrehungen = drehung(umdrehungen)
#print(umdrehungen)