Guest User

Untitled

a guest
Jan 21st, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.98 KB | None | 0 0
  1. import turtle
  2.  
  3. def createWord(max_it, axiom, proc_rules):
  4.  
  5. word = axiom
  6. t = 1
  7.  
  8. while (t < max_it):
  9. word = rewrite(word, proc_rules)
  10. t=t+1
  11.  
  12. newWord = word
  13.  
  14. def rewrite(word, proc_rules):
  15.  
  16. wordList = list(word)
  17.  
  18. for i in range(len(wordList)):
  19. curChar = wordList[i]
  20. if curChar in proc_rules:
  21. wordList[i] = proc_rules[curChar]
  22.  
  23. return "".join(wordList)
  24.  
  25. def drawit(newWord, d, angle):
  26.  
  27. newWordLs = list(newWord)
  28. for i in range(len(newWordLs)):
  29. cur_Char = newWordLs[i]
  30. if cur_Char == 'F':
  31. turtle.forward(d)
  32. elif cur_Char == '+':
  33. turtle.right(angle)
  34. elif cur_Char == '-':
  35. turtle.left(angle)
  36. else:
  37. i = i+1
  38.  
  39. #sample test of dragon curve
  40.  
  41. def main():
  42. createWord(10, 'FX', {'X':'X+YF','Y':'FX-Y'})
  43. drawit('FX+YF+FX-YF+FX+YF-FX-YF+FX+YF+FX-YF-FX+YF-FX-YF', 20, 90)
  44.  
  45. if __name__=='__main__': main()
Add Comment
Please, Sign In to add comment