def package_dispatcher(package, client_addr): assert isinstance(package, Package) if isinstance(package, UserQuit): PySnakeHandler.remove_client(client_addr) elif isinstance(package, HandShake): PySnakeHandler.game_objects[client_addr] = Snake(Coords.get_random()) elif isinstance(package, UpdateDirection): if client_addr in PySnakeHandler.game_objects: PySnakeHandler.game_objects[client_addr].direction = package.direction
def broadcast_state(): clock = pygame.time.Clock() while True: if not len(PySnakeHandler.game_objects['apples']): PySnakeHandler.game_objects['apples'].append(Apple(Coords.get_random())) for game_object in PySnakeHandler.game_objects.values(): if isinstance(game_object, Snake): game_object.move() PySnakeHandler.broadcast_state() clock.tick(25)