Hallo, Anne,
das Prinzip findest Du hier
[url]
forums.limesurvey.org/forum/german-forum...zufallszahlen#209700
[/url]
Hier geht es zwar um 3 aus 8, aber das ist ja egal.
Ich sollte wirklich einmal ein allgemeines Tutorial darüber schreiben, als es immer einzeln zu wiederholen.
Okay:
Du erstellst eine Frage vom Typ "kurzer Text". Nennen wir sie einfach "QBilder"
Dahinein kommt dieses javascript (im Quellcode-Modus)
Code:
<script type="text/javascript" charset="utf-8">
function shuffle(array) {
var currentIndex = array.length, temporaryValue, randomIndex;
// While there remain elements to shuffle...
while (0 !== currentIndex) {
// Pick a remaining element...
randomIndex = Math.floor(Math.random() * currentIndex);
currentIndex -= 1;
// And swap it with the current element.
temporaryValue = array[currentIndex];
array[currentIndex] = array[randomIndex];
array[randomIndex] = temporaryValue;
}
return array;
}
$(document).on('ready pjax:scriptcomplete',function(){
// Fill the array
var arr = [];
for (var i = 1; i < 21; i++)
{
w=("00" + i).slice(-2); arr.push(w);
}
arr = shuffle(arr);
anumbers = arr.slice(0,10).join(',');
$('#question{QID} input[type="text"]').val("#"+anumbers);
$('#question{QID}').hide();
});
</script>
Damit erhältst Du so etwas als Ergebnis in dieser Frage
also 10 zufällige Zahlen von Deinen 20.
Nun ist der Rest simpel.
Jedes Bild bekommt als Relevanzgleichung: "Ist die Nummer in diesen Zahlen enthalten?"
Dazu gibt es die Funktion "strpos". Diese liefert die Stelle, an welcher der Suchtext im Gesamttext zu finden ist, und "0", wenn er nicht drin ist.
Findest Du alles hier im Handbuch:
[url]
www.limesurvey.org/manual/ExpressionScri...mplemented_functions
[/url]
Da aber die erste Stelle im Text den Index "0" hat, kann mann nicht unterscheiden: "Ist es ein gefundener Text, der an der ersten Stelle (also Index "0") beginnt, oder ist es die "0", weil nicht gefunden.
Jetzt erschließt sich Dir, warum ich die Raute an den Anfang gestellt habe. Damit fängt jeder Text mindestens an Stelle "1" an.
Also werden Deine Relevanzgleichungen irgendwie so aussehen:
Bild 1: strpos(QBilder,"01")>0
Bild 2: strpos(QBilder,"02")>0
Bild 3: strpos(QBilder,"03")>0
Bild 4: strpos(QBilder,"04")>0
...
Bild 20: strpos(QBilder,"20")>0
Viel Erfolg
Joffm