Рандомно перемешать каждый из массивов -
https://qna.habr.com/q/1118198
после чего брать комбинации: (a[0], b[0], ..., f[0]), (a[1], b[1], ..., f[1]), ...
где a, b.. - слои
если, допустим, надо N тайлов, а в слое всего M вариантов, где M < N, то из этого слоя (перемешанного) можно брать' элемент с индексом (i % M)