Example #1
0
 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()
Example #2
0
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)
Example #3
0
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()
Example #4
0
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()
Example #5
0
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()
Example #6
0
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)
Example #7
0
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)
Example #8
0
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()