move_direction get_random_direction() { std::random_device device; std::default_random_engine generator(device()); std::uniform_int_distribution distribution(0, 3); return static_cast(distribution(generator)); }