Fangen wir mal mit der Verteilung der 12 Items auf 3 Runden an. Ich würde hier empfehlen, dass Sie einen (zusätzlichen) Zufallsgenerator mit 12 Codes erstellen un daraus pro Interview 12 Codes ziehen (Einstellung im Zufallsgenerator).
Dadurch erhalten Sie eine Liste der 12 Zahlen in zufälliger Reihenfolge. Die ersten 4 nehmen Sie für Runde 1, die nächsten 4 für Runde 2 und die letzten 4 für Runde 3.
Damit das mit den Runden verlässlich funktioniert, brauchen Sie nun 3 Kopien der beiden Fragen. Eine pro Runde.
Und dann brauchen Sie alles mal 3 für die 3 Varianten. Macht insgesamt also 3x3 = 9 Fragen-Paare = 18 Fragen.
In Ihrem Code oben müssen Sie eigentlich nur noch ergänzen, dass die (z.B. ersten) 4 Items gezeigt werden sollen. Wenn der 12er-Zufallsgenerator RG01 heißt, könnte das so aussehen:
$items = array_values(valueList('RG01'));
$roundA = array_slice($items, 0, 4);
if (value('PG01') == 1) {
question('TR01', $roundA, 'combine=TR04', 'gap=none');
} elseif (value('PG01') == 2) {
question('TR05', $roundA, 'combine=TR06', 'gap=none');
} elseif (value('PG01') == 3) {
question('TR07', $roundA, 'combine=TR08', 'gap=none');
}
pageCSS('
td.s2col2 {
text-align: center;
}
');