Card NoddyAi::play_card() { Cards legal = legal_plays(); assert(!legal.empty()); std::uniform_int_distribution<size_t> card_chooser(0, legal.size()-1); size_t which = card_chooser(random_engine_); Cards::iterator i = legal.begin(); std::advance(i, which); return *i; }