Seite 1 von 1

xturtle Ampel

Verfasst: Donnerstag 7. Februar 2008, 16:43
von HLK
Hallo,

ich habe eine Frage... also mein zeil ist es eine Ampel mit xturtle zu zeichen und zwar so das die farben immer wechseln...
also erstmal der code:

Code: Alles auswählen

 print('Bitte geben Sie dir groeße der Ampel ein. Vorschlag 20-120')
eingabe = input('groeße: ')
speed(5)
hideturtle()

def kasten(groese,farbe):
    fillcolor(farbe)
    fill("true")
    width(groese/20.0)
    left(90)
    forward(groese)
    width(groese/40.0)
    right(90)
    forward(groese/5.0)
    left(90)
    forward(groese)
    left(90)
    forward(groese/2.5)
    left(90)
    forward(groese)
    left(90)
    forward(groese/5.0)
    fill("false")

kasten(eingabe,"darkgrey")

def lampe(groese,farbe):
    fillcolor(farbe)
    fill("true")
    up()
    left(90)
    forward(groese/14.0)
    right(90)
    down()
    circle(groese/8.0)
    circle(groese/8.0,180)
    right(180)
    fill("false")
    
lampe(eingabe,"green")
lampe(eingabe,"yellow")
lampe(eingabe,"red")
das habe ich bisher... funktioniert auch wunderbar und ist so wie ich es haben will...

und jetzt würde ich gerne wissen wie ich es hinkriege das immer nur eine farbe "an" ist. Und dann halt noch so das es immer Von Rot zu Gelb zu Grün wechselt und wieder zurück.

wäre nett wenn ihr mir helfen könntet.

mfg
HLK

Verfasst: Donnerstag 7. Februar 2008, 21:50
von HLK
kann mir da niemand helfen?

mir ist da grade ne idee gekommen aber ka wie die richtigen befehle sind...

und zwar: nach jedem lampe(eingabe,"farbe") den punkt wo er ist speichern und dann muss man doch dorthin wieder "zurückspringen" können und dann die füllung wieder weg oder auch wider hin machen können... dafür bräuchte ich nur die passenden befehle. den rest würde ich glaub dann hinkriegen mit ein wenig rumprobiererei xD

also... jemand ne ahnung?

Verfasst: Donnerstag 7. Februar 2008, 22:30
von Gnushi
Hallo!
HLK hat geschrieben:also... jemand ne ahnung?
Du könntest Dir einige Funktionen schreiben, die so aussehen:
* zeichne_lampe_rot_an(...)
* zeichne_lampe_rot_aus(...)
* zeichne_lampe_gelb_an(...)
... usw.

und dann aufrufen:

zeichne_alle_aus()
pause
zeichne_rot_an()
pause
zeichne_rot_aus()
zeichne_gelb an()
pause
.... usw

Gnushi

Verfasst: Freitag 8. Februar 2008, 09:58
von Imperator
Hallo,

das mit dem Speichern würde schon gehen. Aber soweit ich weiß hat xturtle keine Funktion um die Turtle an eine spezielle Stelle springen zu lassen.

Verfasst: Freitag 8. Februar 2008, 12:16
von Leonidas
Imperator hat geschrieben:das mit dem Speichern würde schon gehen. Aber soweit ich weiß hat xturtle keine Funktion um die Turtle an eine spezielle Stelle springen zu lassen.
Patch schreiben oder Monkeypatchen.

Alternativ sollte es moeglich sein in der Turtle den Stift abzusetzen und irgendwohin zu fahren und dort den Stift wieder aufzusetzen. Ist in Logo-inspirierten Turtles oft moeglich.

Verfasst: Freitag 8. Februar 2008, 13:01
von BlackJack
Also muss man in der Funktion, die eine "Lampe" zeichnet, dafür sorgen, dass die Schildkröte nach der Ausführung wieder an dem Punkt steht, an dem sie vorher war.

Verfasst: Freitag 8. Februar 2008, 13:04
von Imperator
Leonidas hat geschrieben:
Imperator hat geschrieben:das mit dem Speichern würde schon gehen. Aber soweit ich weiß hat xturtle keine Funktion um die Turtle an eine spezielle Stelle springen zu lassen.
Patch schreiben oder Monkeypatchen.

Alternativ sollte es moeglich sein in der Turtle den Stift abzusetzen und irgendwohin zu fahren und dort den Stift wieder aufzusetzen. Ist in Logo-inspirierten Turtles oft moeglich.
Das mit dem Stift absetzen geht. Und ich habe jetzt nochmal in Python für Kids nachgesehen. Man kann sie schon zu einer bestimmten Position springen lassen. Mit goto(x, y).