def __init__(self,x): self.it=x S="D++D++D" for i in range(self.it): pesan="" for j in range(len(S)): if S[j]=="D": pesan+="D-D++D-D" else: pesan+=S[j] S=pesan root3=tk.Tk() if self.it!=1: root3.title('Koch Fractal with '+str(self.it)+' iterations') else: root3.title('Koch Fractal with an iteration') self.canvas=ScrolledCanvas(master=root3,width=1000,height=1000) self.canvas.pack(fill=tk.BOTH,expand=tk.YES) screen=TurtleScreen(self.canvas) screen.screensize(10000,10000) self.turtle=RawTurtle(screen) self.turtle.ht() self.turtle.speed(0) for i in range(len(S)): if S[i]=="D": self.turtle.forward(10) elif S[i]=="+": self.turtle.right(60) else: self.turtle.left(60) self.canvas.bind('<MouseWheel>',self.zoom) screen.mainloop()
class Gamefield: """Die Klasse Bescreibt wie ein Feld aussieht (Muss kein Gamefeld sein)""" def __init__(self, tkFrame, backgroundColor): self.rootWindow = TurtleScreen(tkFrame) self.rootWindow.bgcolor(backgroundColor) self.rootWindow.tracer(0) def getRootWindow(self): return self.rootWindow # In der gameListenToPresskey Methode werden alle move Methoden einem Tastatur-Knopf zugewiesen. (für die erste Schlange) def gameListenToPresskey(self, basilisk): self.rootWindow.listen() self.rootWindow.onkeypress(basilisk.moveUpwards, "Up") self.rootWindow.onkeypress(basilisk.moveDownwards, "Down") self.rootWindow.onkeypress(basilisk.moveLeftwards, "Left") self.rootWindow.onkeypress(basilisk.moveRightwards, "Right") # In der gameListenToPresskey Methode werden alle move Methoden einem Tastatur-Knopf zugewiesen. (für die zweite Schlange) def gameListenToPresskeyForTowPlayer(self, basilisk): self.rootWindow.listen() self.rootWindow.onkeypress(basilisk.moveUpwards, "w") self.rootWindow.onkeypress(basilisk.moveDownwards, "s") self.rootWindow.onkeypress(basilisk.moveLeftwards, "a") self.rootWindow.onkeypress(basilisk.moveRightwards, "d") def gamefieldUpdate(self): self.rootWindow.update() def gamefieldMainloop(self): self.rootWindow.mainloop() def addShape(self, gif): self.rootWindow.addshape(gif)
def main(pattern: str) -> None: master = Tk() canvas = ScrolledCanvas(master) canvas.pack() screen = TurtleScreen(canvas) screen.colormode(255) turt = RawTurtle(screen) draw_dots(turt) turt.pencolor((178, 34, 34)) draw_pattern(turt, pattern) screen.mainloop()
def draw(lines): from tkinter import Tk, LEFT from turtle import Canvas, RawTurtle, TurtleScreen # set up the environment root = Tk() canvas = Canvas(root, width=800, height=800) canvas.pack() s = TurtleScreen(canvas) t = RawTurtle(canvas) t.speed(0) t.width(1) for line in lines: x, y = line[0] t.up() t.goto(x * 800 / 1024 - 400, -(y * 800 / 1024 - 400)) for point in line: t.down() t.goto(point[0] * 800 / 1024 - 400, -(point[1] * 800 / 1024 - 400)) s.mainloop()
while True: x = getInput() if x in ["", "0", "00"] or x == None: break turtle.reset() ops = [int(y) for y in x.split()] x = ops[0] if x == 1: rectangulo(100, 50) elif x == 2: cuadrado(200) elif x == 3: triangulo(150) elif x == 4: casa(100) elif x == 5: doodle(100) elif x == 6: patron01(100) elif x == 7: patron02(50) elif x == 8: circulo(1) elif x == 9: petalo(80) elif x == 10: flor(10, 60) elif x == 11: cambioVestido() screen.mainloop()
class TurtleWorld(object): def __init__(self, width, height, borders=wrap, title="TurtlePower"): self.width = width self.half_width = width // 2 self.height = height self.half_height = height // 2 self.borders = borders self.window_title = title self.init_screen() self.fps = 0 self.done = True self.turtles = [] def init_screen(self): # intialise screen and turn off auto-render root = Tk() root.wm_title(self.window_title) window = TK.Canvas(master=root, width=self.width, height=self.height) window.pack() self.screen = TurtleScreen(window) self.screen.tracer(0, 0) def position_turtle(self, t, pos=None, angle=None): # move to location t.hideturtle() t.penup() if pos is None: pos = (randint(-self.half_width, self.half_width), randint(-self.half_height, self.half_height)) x, y = pos t.goto(x, y) if angle is None: angle = random() * 360 t.setheading(angle) # ready to go t.showturtle() t.pendown() return t def random_position(self, turtle): return self.position_turtle(turtle) def _print_fps(self): # pragma: no cover if not self.done: print(self.fps) self.screen.ontimer(self._print_fps, 1000) self.fps = 0 def create_turtle(self, callback, pos=None, angle=None): t = PowerTurtle(self) t.set_callback(callback) self.position_turtle(t, pos, angle) self.turtles.append(t) return t def add_turtle(self, turtle): turtle.clear() self.turtles.append(turtle) def remove_turtle(self, turtle): turtle.hideturtle() turtle.clear() self.turtles.remove(turtle) def run(self, ticks=1000): # run for 1000 ticks self.done = False if DEBUG: self.screen.ontimer(self._print_fps, 1000) self.ticks = ticks self.screen.ontimer(self.tick, 33) if mainloop: mainloop() else: self.screen.mainloop() def tick(self): shuffle(self.turtles) for t in self.turtles: t.callback(self) self.borders(t, self.width, self.height) self.screen.update() self.fps += 1 self.ticks -= 1 if self.ticks == 0: self.done = True else: self.screen.ontimer(self.tick, 33)
class TurtleWorld(object): def __init__(self, width, height, borders=wrap, title="TurtlePower"): self.width = width self.half_width = width // 2 self.height = height self.half_height = height // 2 self.borders = borders self.window_title = title self.init_screen() self.fps = 0 self.done = True self.turtles = [] def init_screen(self): # intialise screen and turn off auto-render root = Tk() root.wm_title(self.window_title) window = TK.Canvas(master=root, width=self.width, height=self.height) window.pack() self.screen = TurtleScreen(window) self.screen.tracer(0, 0) def position_turtle(self, t, pos=None, angle=None): # move to location t.hideturtle() t.penup() if pos is None: pos = (randint(-self.half_width, self.half_width), randint(-self.half_height, self.half_height)) x, y = pos t.goto(x, y) if angle is None: angle = random() * 360 t.setheading(angle) # ready to go t.showturtle() t.pendown() return t def random_position(self, turtle): return self.position_turtle(turtle) def _print_fps(self): # pragma: no cover if not self.done: print(self.fps) self.screen.ontimer(self._print_fps, 1000) self.fps = 0 def create_turtle(self, callback, pos=None, angle=None): t = PowerTurtle(self) t.set_callback(callback) self.position_turtle(t, pos, angle) self.add_turtle(t) return t def add_turtle(self, turtle): turtle.clear() self.turtles.append(turtle) def remove_turtle(self, turtle): turtle.hideturtle() turtle.clear() self.turtles.remove(turtle) def run(self, ticks=1000): # run for 1000 ticks self.done = False if DEBUG: self.screen.ontimer(self._print_fps, 1000) self.ticks = ticks self.screen.ontimer(self.tick, 33) self.screen.update() if mainloop: mainloop() else: self.screen.mainloop() def tick(self): shuffle(self.turtles) for t in self.turtles: t._do_callback() self.borders(t, self.half_width, self.half_height) self.screen.update() self.fps += 1 self.ticks -= 1 if self.ticks == 0: self.done = True else: self.screen.ontimer(self.tick, 33)
style = ('Arial', 30, 'bold') turtle.color('Black') turtle.speed(10) turtle.penup() turtle.setposition(0, -80) turtle.hideturtle() turtle.write('TechieSpod', font=style, align='center') turtle.speed(10) turtle.penup() turtle.setposition(0, -100) turtle.hideturtle() style = ('Arial', 10) turtle.write("Explore, Try & Invent", font=style, align='center') turtle.speed(10) turtle.penup() turtle.setposition(0, -120) turtle.hideturtle() turtle.write("_________________________________", font=style, align='center') turtle.hideturtle() master.mainloop() root = Tk() root.title("Demo Class Matplotlib") root.geometry("1536x800") root.config(bg="#ffffff") root.iconbitmap("icon.ico") a = work(root) b = work.canvasdemo(a) root.mainloop()