Pythonkara

  • Leute ich weiss dass das nicht zu den Themen gehört, aber ich will ein pythonkara Programm schreiben dass bei einer bestimmten ausgabe stehen bleibt... hier der script:


    world.clearAll()
    kara.setPosition(0,0)
    xKleeblatt=tools.random(world.getSizeX())
    yKleeblatt=tools.random(world.getSizeY())
    world.setLeaf(xKleeblatt,yKleeblatt,True)
    while not kara.onLeaf():
    for zeile in range(world.getSizeX()):
    kara.move()
    if kara.onLeaf():
    tools.showMessage(str(kara.getPosition()))
    kara.turnRight()
    kara.move()
    kara.turnLeft()



    bitte um hilfe

  • Auf ein neues.
    Ich habe eine Infohausaufgabe ein Pythonkara-Programm zu schreiben, das zufällig ein Blatt ablegt, das Kara dann suchen muss. Wenn Kara dann auf dem Blatt ist soll eine Meldung mit der Position ausgegeben werden und der Käfer soll dann stehen bleiben auf dieser Position. Folgenden Script habe ich schon:


    Nun habe ich das Problem dass Kara nicht auf dem Blatt stehen bleibt sondern nach der Positionsausgabe weiterläuft :/
    Bitte um Hilfe

  • mh in deiner while schleife läuft er ja mehrere Felder, die Überprüfung zum abbrechen kommt aber nur jede Zeile, wenn ich den code richtig verstehe.


    ansonsten was vll auch noch sinnvoll wäre ein break damit kommt man auch aus schleifen heraus

  • Ich hätte folgendermaßen umgedreht:

    Code
    1. for zeile in range(world.getSizeX()):
    2. while not kara.onLeaf():


    Man achte auf die Zeilen :D
    Ich habe allerdings keine Ahnung ob und wie und wann deine Schleifen wieder geschlossen werden, gibts da irgendwas von wegen end while?
    Muss man halt schauen, dass das Drehen am Ende einer Zeile in der richtigen Schleife sitzt.


    Ansonsten habe ich nie mit Pythonkara gearbeitet, in der Schule bei uns wurde mit Robot Karol gelehrt :rolleyes: Hach, diese Emotionen, wenn man mal wieder Pseudocodes sieht ;(

  • nun ja jetzt steht mien Code so da:


    jedoch mit diesem break führt der käfer die nächsten schritte weiter aus ?(
    nun die ultimative Lösung :DD


    so hätte man das vllt gleich probieren sollen :D
    wenn jemand eine elegantere Lösung hat dann bitte posten :)