Hallo zusammen,
ich habe gerade einmal nachgezählt. Eigentlich wollte ich 40 Bilder insgesamt anzeigen (funktioniert), diese in randomisierter Reihenfolge (funktioniert).
Aber es sollen 20 mit glücklichem und 20 mit traurigem Gesichtsausdruck gezeigt werden.
Das funktioniert nicht. Es werden komischerweise immer 16 glücklich angezeigt und 24 traurig.
Das hier ist mein Code:
(Bilder sind gelabelt mit einer Bildnummer (jede Person gibt es einmal in glücklich, in traurig und in neutral) und dann .s = sad; .h = happy; .n = neutral)
// Varianten zufällig präsentieren
if (!isset($variante)) {
$variante = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2];
shuffle($variante);
foreach ($variante as $i => $x) {
$id = id('IV01', $i + 1);
put($id, $x);
}
}
// Bilder 1-40 einfach in dieser Reihenfolge anzeigen
// (der Zufallsgenerator hat sie ja bereits gemischt)
$i = loopPage(40);
$basis = value(id('ZG01', $i + 1), 'label');
//wenn 1, dann zeige Bild mit Endung .h; wenn 2, dann zeige Bild mit Endung .s
if ($variante[$i] == 1) {
$bild = $basis.'_h.jpg';
} else {
$bild = $basis.'_s.jpg';
}
html('
<div style="margin: 3em; text-align: center">
<img src="'.$bild.'" alt="" /; style="max-width: 50%">
</div>
');