Randc solve after

In reply to dave_59:

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

Ok, I forgot another requirement. The randomization of rand_b should be done only at first time of class randomization. So the table should be:

Step rand_a rand_b
1 3 4
2 2 4
3 0 4
6 1 4