Rolling a die gives you a random output for a given input. If you input the same nonce on a block template, you will always get the same output hash. It is guess and check, not rolling a dice. And the "check" part is... Wait for it... Math.