def main(): pygame.init() screen = pygame.display.set_mode(SIZE) clock = pygame.time.Clock() noto_sans = pygame.font.Font('NotoSans-Regular.ttf', 12) field = Field(area=Rect(x=10, y=50, w=WIDTH - 20, h=HEIGHT - 60)) snake = Snake( starting_point=random_point(offset=100, area=field.client_area())) score = Score(font=noto_sans, position=Point(x=10, y=10)) goal = Goal(area=generate_goal_area(snake=snake, field=field)) controller = KeyboardController( snake=snake, start_direction=random_direction(), key_map=KeyMap( up=pygame.K_UP, down=pygame.K_DOWN, left=pygame.K_LEFT, right=pygame.K_RIGHT # up=pygame.K_w, down=pygame.K_s, left=pygame.K_a, right=pygame.K_d )) running = True while running: for event in pygame.event.get(): if event.type == pygame.QUIT: running = False controller.handle_event(event) if not running: break score.update(score=len(snake)) screen.fill(BLACK) for go in [field, snake, score, goal]: go.draw_to(screen) pygame.display.flip() controller.update() running = check_collisions(snake, screen, goal, field) clock.tick(120) print(f'Game over! Your score: {len(snake)}') pygame.quit()
img = ImageCreator() ####################### Loading Objects ############################### # create obstacle lava = Lava() lava.pos = 8 # create hero hero = Hero() hero.pos = 0 hero.vel = .5 #create goal goal = Goal() goal.width = 4 #for tracking time start_time = time.time() frame = 0 ####################### led painting happens here #################### while True: # Create a new driver config (for setup purposes) driver_config_proto = driver_pb2.DriverConfig() img.clear_all() # Painting obstacles img.set_led(int(lava.loc), int(lava.r), int(lava.g), int(lava.b), int(lava.w))