from graphics import Canvas from karel_asset import * import random from time import sleep import asyncio # Constants CANVAS_WIDTH = 400 CANVAS_HEIGHT = 400 async def flash_karel(canvas, delay:int=0): await asyncio.sleep(delay) karel = generate_random_karel(canvas) await asyncio.sleep(4) erase_asset(karel) async def main(): canvas = Canvas(CANVAS_WIDTH, CANVAS_HEIGHT,) while True: background = generate_random_background(canvas) sleep(0.5) # Multple simultanious jobs await asyncio.gather( flash_karel(canvas, 0), flash_karel(canvas, 1), flash_karel(canvas, 2), flash_karel(canvas, 3), flash_karel(canvas, 4), flash_karel(canvas, 5), flash_karel(canvas, 6), flash_karel(canvas, 7), flash_karel(canvas, 8), flash_karel(canvas, 9), ) sleep(0.5) canvas.delete(background) return canvas if __name__ == '__main__': #asyncio.run(main()) #await main()