In reply to alexkidd84:
You have conflicting requirements. You cannot cycle through all the values of rand_a if you choose rand_b first. In table below, after the 6th step, there is no number you can choose without repeating a value before exhausting other unused numbers.
| Step | rand_a | rand_b |
|---|---|---|
| 1 | 3 | 4 |
| 2 | 2 | 8 |
| 3 | 1 | 10 |
| 4 | 0 | 4 |
| 5 | 4 | 8 |
| 6 | ??? | 4 |