Advertisement
Guest User

Untitled

a guest
Sep 17th, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1. from turtle import Turtle, Screen
  2.  
  3. NAME = "IDAN"
  4.  
  5. BORDER = 1
  6. BOX_WIDTH, BOX_HEIGHT = 6, 10 # letter bounding box
  7. WIDTH, HEIGHT = BOX_WIDTH - BORDER * 2, BOX_HEIGHT - BORDER * 2 # letter size
  8.  
  9. def letter_A(turtle):
  10. turtle.forward(HEIGHT / 2)
  11. for _ in range(3):
  12. turtle.forward(HEIGHT / 2)
  13. turtle.right(90)
  14. turtle.forward(WIDTH)
  15. turtle.right(90)
  16. turtle.forward(HEIGHT)
  17.  
  18. def letter_D(turtle):
  19. turtle.forward(HEIGHT)
  20. turtle.right(90)
  21. turtle.circle(-HEIGHT / 2, 180, 30)
  22.  
  23. def letter_I(turtle):
  24. turtle.right(90)
  25. turtle.forward(WIDTH)
  26. turtle.backward(WIDTH / 2)
  27. turtle.left(90)
  28. turtle.forward(HEIGHT)
  29. turtle.right(90)
  30. turtle.backward(WIDTH / 2)
  31. turtle.forward(WIDTH)
  32.  
  33. def letter_N(turtle):
  34. turtle.forward(HEIGHT)
  35. turtle.goto(turtle.xcor() + WIDTH, BORDER)
  36. turtle.forward(HEIGHT)
  37.  
  38. LETTERS = {'A': letter_A, 'D': letter_D, 'I': letter_I, 'N': letter_N}
  39.  
  40. wn = Screen()
  41. wn.setup(800, 400) # arbitrary
  42. wn.title("Turtle writing my name: {}".format(NAME))
  43. wn.setworldcoordinates(0, 0, BOX_WIDTH * len(NAME), BOX_HEIGHT)
  44.  
  45. marker = Turtle()
  46.  
  47. for counter, letter in enumerate(NAME):
  48. marker.penup()
  49. marker.goto(counter * BOX_WIDTH + BORDER, BORDER)
  50. marker.setheading(90)
  51.  
  52. if letter in LETTERS:
  53. marker.pendown()
  54. LETTERS[letter](marker)
  55.  
  56. marker.hideturtle()
  57.  
  58. wn.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement