I actually did a similar thing using a python script! shuffle(all_combinations[: -10]), and repeat forever. Change the -10 to whatever you want: take everything and you've got your solution, put -35 and you've got random dice again. -10 is a nice middle term, also avoids that at the end of the deck results become too certain.
I've taken to calling that the gambler's fallacy fallacy: the misapprehension that a randomness can only arise in situations where the events are uncorrelated. The randomness in Tetris is another good example: when you think you're due for an I, you actually are.
Tetris actually uses two entirely different algorithms, one classic and one modern. Classic is randint(1,7), modern is shuffling "decks" of the 7 pieces and repeating.