garticphoneのような伝言ゲームを作りたいのですが、

ABCDの4人がいて、1234よっつの要素をリレーのように渡していく
1ターン目はAが1、Bが2、Cが3、Dが4を持っている
2ターン目がAが4、Bが1、Cが2、Dが3を持っている
3ターン目以降はランダム。4ターンで全員が各要素を1回ずつ持たなければいけない。

というようなゲームを人数に関わらず行えるようにしたいとき、どのようなアルゴリズムがよいでしょうか?
プログラム板に書き込むの初めてなので見当違いな書き込みだったりスレ違いだったりしたらすみません