Я чувствую, что этот вопрос - домашнее задание. Позволь мне сделать это для тебя.
*
в этом сценарии скорее всего возвращается алфавитный список каталога. Таким образом, вы можете перехватить этот список и рандомизировать в этот момент.
Вы также можете загрузить содержимое каталога в массив, выбрать случайным образом число - изменить размер массива и, если результат будет пустым, двигаться вперед до тех пор, пока вы не нажмете непустую запись. Затем очистите эту запись по мере ее использования. Вам понадобится счетчик или что-то еще, чтобы потом отслеживать, сколько элементов вы использовали, чтобы вы знали, когда вы использовали все записи.
Кроме того, вы можете вместо этого загрузить записи во что-то вроде связанного списка и создать случайную запись # для использования, а затем отбросить из структуры данных.
Вероятно, есть много других вариантов. Но я только что дал вам наброски для 3 грубых подходов. Конечно, я не написал код для вас, но я сделал сложную часть. Пожалуйста ;)