online feedbacks

Documentation

Block Modifier verstehen

Der BlockModifier (verfügbar ab Build 1492)

Einführung

Der BlockModifier kann Reihenfolgen zufällig vertauschen oder rotieren. Diese Funktionalität lässt sich symmetrisch auf
  • Fragebogenseiten
  • Fragen auf einer Seite
  • Antworten einer Frage
anwenden.

Beispiele

Beispiel 1: Blockrotation von Seiten

void start() {
  // Instantiate with questionaire
  BlockModifier bm = new BlockModifier(qst);
  bm.addBlock(2);
  bm.addBlock(4,5);
  bm.addShuffledBlock(12, 15);
  bm.shuffle();  // or bm.rotate();
}

In diesem Beispiel werden die Seite 2, die Seiten 4-5 und die Seiten 12-15 als Blöcke definiert. Über bm.shuffle() werden diese Blöcke dann zufällig verwürfelt. Ein bm.rotate() würde die Blöcke wie ein Band rotieren.
Zusätzlich werden die Seiten 12 bis 15 über addShuffledBlock() innerhalb des Blockes zufällig angeordnet.
Es werden die ganzen Seiten vertauscht, so dass eine zugeordnete Seitenlogik erhalten bleibt.


Beispiel 2: Antworten zu einer Frage blockweise tauschen

void start() {
  // Get the question
  com.pilodata.formgen.Question q = qst.findQuestion("stan");

  // Instantiate with question
  BlockModifier bm = new BlockModifier(q);
  // Define a shuffled block from answer 0 to 3
  bm.addShuffledBlock(0,3);

  // Define a shuffled block from answer 4 to 7
  bm.addBlock(4,7);

  // call to shuffle
  bm.shuffle();
}

In diesem Beispiel werden die Antworten zu der Frage stan vertauscht.
Die Antworten mit den Indizes 0 bis 3 (Achtung: fängt bei 0 an) werden innerhalb des Blockes zufällig angeordnet.
Die Antworten mit den Indizes 4 bis 7 werden als Block definiert und dann über shuffle() gegeinander zufällig vertauscht.