Funktion, die eine Zufallsbewegung mit definierbaren Parametern erstellt
from turtle import * from random import randint def zufallsstep(maxwinkel, laenge): winkel = randint(-maxwinkel, maxwinkel) left(winkel) forward(laenge) def zufallsschritte(entfernung, winkel, schrittlaenge): home() start = position() while distance(start) < entfernung: zufallsstep(winkel, schrittlaenge) stamp() # Hauptprogramm setup(500, 500) penup() home() pendown() pensize(3) speed(0) for i in range(10): zufallsschritte(200,90,10)
und noch eine Variante mit Farben (2019)
from turtle import * import random def zufallsschritt(schrittlaenge,maxwinkel): winkel = random.randint(-maxwinkel,maxwinkel) left(winkel) forward(schrittlaenge) def walk(entfernung, schrittlaenge, maxwinkel=180): setup(entfernung*2,entfernung*2) penup() home() pendown() pensize(3) startwinkel = random.randint(0,359) right(startwinkel) start = position() while distance(start) < entfernung: zufallsschritt(schrittlaenge,maxwinkel) if(distance(start) < 100): color(1,0,0) elif(distance(start) < 200): color(0,1,0) elif(distance(start) < 300): color(0,0,1) pencolor('red') stamp() for i in range(10): tracer(False) walk(300,5,60) tracer(True)
und noch eine Variante mit anderer Färbung (2020):
from turtle import * from random import randint def zufallsschritt(): winkel = randint(-60,60) left(winkel) forward(10) def zufallsweg(): penup() home() pendown() start = position() left(randint(0,359)) rot = 1 gruen = 0 blau = 0 pencolor(1,0,0) while distance(start) < 200: zufallsschritt() aenderung = distance(start) / 200 if(aenderung < 1): pencolor(rot - aenderung,gruen + aenderung,blau + aenderung) stamp() setup(800,600) pensize(3) for i in range(10): zufallsweg()