karel_spinner.py 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. from graphics import Canvas
  2. from karel_asset import *
  3. from time import sleep
  4. import random
  5. # Constants
  6. CANVAS_WIDTH = 400
  7. CANVAS_HEIGHT = 400
  8. async def main():
  9. canvas = Canvas(CANVAS_WIDTH, CANVAS_HEIGHT)
  10. while True:
  11. background = generate_random_background(canvas)
  12. sleep(0.5)
  13. karel0 = generate_random_karel(canvas)
  14. karel1 = generate_random_karel(canvas)
  15. karel2 = generate_random_karel(canvas)
  16. #karel3 = generate_random_karel(canvas)
  17. #karel4 = generate_random_karel(canvas)
  18. direction0 = random.choice(["right", "left"])
  19. direction1 = random.choice(["right", "left"])
  20. for i in range(32):
  21. karel0 = rotate_asset(karel0, direction0)
  22. karel1 = rotate_asset(karel1, direction0)
  23. karel2 = rotate_asset(karel2, direction1)
  24. #karel3 = rotate_asset(karel3, direction1)
  25. #karel4 = rotate_asset(karel4, direction1)
  26. sleep(0.2)
  27. for i in range(64):
  28. karel0 = rotate_asset(karel0, direction0)
  29. karel1 = rotate_asset(karel1, direction0)
  30. karel2 = rotate_asset(karel2, direction1)
  31. #karel3 = rotate_asset(karel3, direction1)
  32. #karel4 = rotate_asset(karel4, direction1)
  33. sleep(0.01)
  34. erase_asset(karel0)
  35. erase_asset(karel1)
  36. erase_asset(karel2)
  37. sleep(0.2)
  38. canvas.delete(background)
  39. return canvas
  40. if __name__ == '__main__':
  41. await main()