Seite 1 von 1
labyrinth
Verfasst: Mittwoch 17. Februar 2010, 16:53
von S.
hallo
also ich hab ein problem bei programmieren eines Labyrinths...das heißt eigentlich habe ich das labyrinth an sich schon programmiert aber jetzt soll sich ein roboter noch durch das labyrinth finden!!
Er muss irgendwie erkennen können wo eine "wand" ist und wo nicht, wenn da eine "wand" ist, soll er sich um 90 grad drehen und gucken, ob er da weiter kommt....
Irgendwie komme ich da nicht weiter und hab überlegt, ob hier vielleicht jemand eine Idee haben könnten?!
Wär lieb wenn mir jemand weiter helfen kann

DANKE
Verfasst: Mittwoch 17. Februar 2010, 16:56
von Leonidas
Hallo S., willkommen im Forum,
Na ohne deinen Quelltext wird wohl keiner eine Idee haben.
Verfasst: Mittwoch 17. Februar 2010, 17:03
von S.
ohh

dann stell ich den mal rein
from xturtle import*
#Labyrinth
def hori(liste):
global i
i = 0
a1 = 0
while i < len(liste):
if liste[a1] > 0:
pd()
fd(40)
pu()
a1 = a1 + 1
else:
fd(40)
a1 = a1 + 1
i = i + 1
back(240)
rt(90)
fd(40)
lt(90)
def verti(liste):
global i
i = 0
a = 0
while i < len(liste):
if liste[a] > 0:
pd()
lt(90)
fd(40)
pu()
back(40)
rt(90)
fd(40)
a = a + 1
else:
fd(40)
a = a + 1
i = i + 1
back(280)
rt(90)
fd(40)
lt(90)
pu()
pensize(6)
lt(90)
fd(120)
lt(90)
fd(120)
lt(180)
#horizontal
a1 = [1,1,1,1,1,1]
b1 = [0,0,1,0,1,0]
c1 = [0,1,1,0,1,0]
d1 = [1,1,0,1,0,1]
e1 = [0,1,0,1,1,0]
f1 = [1,1,1,1,2,1]
hori(a1)
hori(b1)
hori(c1)
hori(d1)
hori(e1)
hori(f1)
rt(90)
back(200)
lt(90)
#vertikal
a = [2,0,0,0,0,0,1]
b = [1,0,1,0,0,1,1]
c = [1,0,1,1,1,0,1]
d = [1,0,0,0,0,0,1]
e = [1,1,0,0,0,1,1]
verti(a)
verti(b)
verti(c)
verti(d)
verti(e)
#Roboter
left(90)
fd(220)
right(90)
fd(20)
k = 1
x = a[k]
y = 0
while (x != 2):
if (x == 0):
fd(40)
y = y + 1
if (y >= 0) and (a[k + y - 2] == 0):
x = a[k + y - 2]
else:
right(90)
fd(40)
Verfasst: Mittwoch 17. Februar 2010, 17:06
von Hyperion
Bei längerem Quellcode lagere ihn mal lieber in ein paste bin aus, etwas paste.pocoo.org.
Desweiteren gibt s hier code tags: [ code=py ] ohne die Leerzeichen. Damit gehen die Einrückungen nicht verloren.
Verfasst: Mittwoch 17. Februar 2010, 17:46
von S.
http://paste.pocoo.org/show/179340/
ich weiß nicht ob ich das so richtig gemacht habe...ich hoffe es

Verfasst: Mittwoch 17. Februar 2010, 17:50
von numerix
Der Wille war jedenfalls da. Aber:
1. Wenn du exakt den gleichen Code 1x hier und 1x ausgelagert postest, dann bringt es nix.
2. Sicher hast du schon gelernt, dass in Python Einrückungen eine wichtige Rolle spielen. Fällt dir auf, dass dein gezeigter Code - und zwar in beiden Fällen - keine Einrückungen aufweist, obwohl es z.B. Funktionsdefinitionen usw. gibt?
Das müsstest du erst einmal hinbiegen ...
Verfasst: Mittwoch 17. Februar 2010, 17:59
von S.
Verfasst: Mittwoch 17. Februar 2010, 18:18
von numerix
Nein, ist es nicht. Der Code läuft nicht.
Verfasst: Mittwoch 17. Februar 2010, 19:00
von Dav1d
Verfasst: Donnerstag 18. Februar 2010, 13:48
von S.
DANKE
