> Und Sie verwenden den Platzhalter %name5 in den Vignetten?
Ja genau. Eine Vignette sieht z.B. so aus: %name% ist Amerikaner*in. Die meisten Menschen glauben, dass Amerikaner*innen ehrgeizig und fleißig sind. Und auch %name% ist sehr ehrgeizig und fleißig.
Mein ganzer Code sieht folgendermaßen aus:
$sets = valueList('ZG02'); // Liest alle gezogenen Zettel aus
$i = loopPage(count($sets));
// PLATZHALTER
//NAMEN
// Namen in einem Array speichern
$namenuniversell = array(
1 => 'Leo',
2 => 'Ben',
3 => 'Tom',
4 => 'Oliver',
5 => 'David',
6 => 'Daniel',
7 => 'Emma',
8 => 'Sophia',
9 => 'Ella',
10 => 'Sarah',
11 => 'Clara',
12 => 'Charlotte',
);
// Ein Name wird zufällig gezogen
// Urne mit 12 Codes habe ich angelegt
urnDraw('urnenameuniversell', 'IV01');
$code = value('IV01_01');
// Mit Code(1-12) wird ein Name zufällig gezogen
$nameuniversell[$i] = $namenuniversell[$code];
// ein Name wird nun im Platzhalter %name% abgelegt
replace('%name%', $nameuniversell[$i]);
// ausschließlich männliche Namen für Homosexuell
// Namen in einem Array speichern
$namenmann = array(
1 => 'Leo',
2 => 'Ben',
3 => 'Tom',
4 => 'Oliver',
5 => 'David',
6 => 'Daniel',
);
// Ein Name wird zufällig gezogen
// Urne mit 6 Codes habe ich angelegt
urnDraw('urnename', 'IV04');
$code = value('IV04_01');
// Mit Code(1-6) wird ein Name zufällig gezogen
$namemann = $namenmann[$code];
// ein Name wird nun im Platzhalter %name% abgelegt
replace('%namemann%', $namemann);
//VERHALTEN
// Verhalten universell
// Verhalten in einem Array speichern
$verhaltenauswahl = array(
1 => '%name% fuhr zusammen mit einer alten Dame im Bus und folgte ihr, als diese ausstieg. Als sich eine gute Gelegenheit bat, schubste %name% die alte Dame um und stahl ihre Handtasche.',
2 => '%name% brach in ein Haus ein und stahl die Wertgegenstände. Anschließend verkaufte %name% diese bei Ebay.',
3 => '%name% sah eine Jacke in einem Geschäft hängen, ging in den Laden hinein, versteckte die Jacke in der eigenen Tasche und verließ den Laden ohne zu bezahlen.',
4 => '%name% brach die Tür eines Autos auf, schloß das Auto kurz und stahl dieses anschließend.',
5 => 'Als %name% die jährliche Steuer erledigte, gab %name% fälschlicherweise geringere Einkünfte an. So hinterzog %name% einige tausend Euro Steuern. ',
6 => '%name% fuhr beim Einparken gegen ein anderes Auto und richtete an diesem einen Schaden. Jedoch fuhr %name% schnell wieder aus der Parklücke heraus und meldete den Unfall nicht.',
7 => '%name% arbeitet in einer Firma und ist dort für die Finanzen zuständig. Über die letzten Jahre hinweg hat %name% die Buchführung gefälscht und so mehrere Millionen Euro unterschlagen. Die Firma steht deswegen nun kurz vor dem Bankrott und muss Mitarbeiter entlassen.',
8 => '%name% wollte sich auf eine ausgeschriebene Stelle bewerben. Allerdings wusste %name%, dass die Noten auf dem Abschlusszeugnis schlechter sind als die der Mitbewerber. %name% entschied sich deswegen dazu das eigene Abschlusszeugnis zu fälschen. Letztendlich erhielt %name% gegenüber den besser qualifizierten Mitbewerbern die Zusage für den Job.',
);
// Ein Verhalten wird zufällig gezogen
// Urne mit 8 Codes habe ich angelegt
urnDraw('urneverhaltenuniversell', 'IV02');
$code = value('IV02_01');
// Mit Code(1-8) wird ein Verhalten zufällig gezogen
$verhalten = $verhaltenauswahl[$code];
// ein Name wird nun im Platzhalter %name% abgelegt
replace('%verhalten%', $verhalten);
// Verhalten Homosexuell
// hier dürfen auch ausschließlich nur männliche Namen stehen
$verhaltenauswahlmann = [
'%namemann% fuhr zusammen mit einer alten Dame im Bus und folgte ihr, als diese ausstieg. Als sich eine gute Gelegenheit bat, schubste %name% die alte Dame um und stahl ihre Handtasche.',
'%namemann% brach in ein Haus ein und stahl die Wertgegenstände. Anschließend verkaufte %namemann% diese bei Ebay.',
'%namemann% sah eine Jacke in einem Geschäft hängen, ging in den Laden hinein, versteckte die Jacke in der eigenen Tasche und verließ den Laden ohne zu bezahlen.',
'%namemann% brach die Tür eines Autos auf, schloß das Auto kurz und stahl dieses anschließend.',
'Als %namemann% die jährliche Steuer erledigte, gab %namemann% fälschlicherweise geringere Einkünfte an. So hinterzog %namemann% einige tausend Euro Steuern. ',
'%namemann% fuhr beim Einparken gegen ein anderes Auto und richtete an diesem einen Schaden. Jedoch fuhr %name% schnell wieder aus der Parklücke heraus und meldete den Unfall nicht.',
'%namemann% arbeitet in einer Firma und ist dort für die Finanzen zuständig. Über die letzten Jahre hinweg hat %namemann% die Buchführung gefälscht und so mehrere Millionen Euro unterschlagen. Die Firma steht deswegen nun kurz vor dem Bankrott und muss Mitarbeiter entlassen.',
'%namemann% wollte sich auf eine ausgeschriebene Stelle bewerben. Allerdings wusste %namemann%, dass die Noten auf dem Abschlusszeugnis schlechter sind als die der Mitbewerber. %namemann% entschied sich deswegen dazu das eigene Abschlusszeugnis zu fälschen. Letztendlich erhielt %name% gegenüber den besser qualifizierten Mitbewerbern die Zusage für den Job.',
];
replace('%verhaltenmann%', $verhaltenauswahlmann[$i]);
// RANDOMISIERUNG
$codeStereotyp = value(id('ZG01', $i + 1)); // Auslesen des Stereotyps
$codeBedingung = value(id('ZG02', $i + 1)); // Auslesen der Bedingung
// Filter: Vignetten den einzelnen Bedingungen zuordnen
if ($codeStereotyp == 1 and $codeBedingung == 1) {
text('VI01');
} elseif ($codeStereotyp == 1 and $codeBedingung == 2) {
text('VI07');
} elseif ($codeStereotyp == 1 and $codeBedingung == 3) {
text('VI04');
} elseif ($codeStereotyp == 1 and $codeBedingung == 4) {
text('VI10');
} elseif ($codeStereotyp == 2 and $codeBedingung == 1) {
text('VI11');
} elseif ($codeStereotyp == 2 and $codeBedingung == 2) {
text('VI12');
} elseif ($codeStereotyp == 2 and $codeBedingung == 3) {
text('VI13');
} elseif ($codeStereotyp == 2 and $codeBedingung == 4) {
text('VI14');
} elseif ($codeStereotyp == 3 and $codeBedingung == 1) {
text('VI15');
} elseif ($codeStereotyp == 3 and $codeBedingung == 2) {
text('VI16');
} elseif ($codeStereotyp == 3 and $codeBedingung == 3) {
text('VI17');
} elseif ($codeStereotyp == 3 and $codeBedingung == 4) {
text('VI18');
} elseif ($codeStereotyp == 4 and $codeBedingung == 1) {
text('VI19');
} elseif ($codeStereotyp == 4 and $codeBedingung == 2) {
text('VI20');
} elseif ($codeStereotyp == 4 and $codeBedingung == 3) {
text('VI21');
} elseif ($codeStereotyp == 4 and $codeBedingung == 4) {
text('VI22');
} elseif ($codeStereotyp == 5 and $codeBedingung == 1) {
text('VI23');
} elseif ($codeStereotyp == 5 and $codeBedingung == 2) {
text('VI24');
} elseif ($codeStereotyp == 5 and $codeBedingung == 3) {
text('VI25');
} elseif ($codeStereotyp == 5 and $codeBedingung == 4) {
text('VI26');
} elseif ($codeStereotyp == 6 and $codeBedingung == 1) {
text('VI27');
} elseif ($codeStereotyp == 6 and $codeBedingung == 2) {
text('VI28');
} elseif ($codeStereotyp == 6 and $codeBedingung == 3) {
text('VI29');
} elseif ($codeStereotyp == 6 and $codeBedingung == 4) {
text('VI30');
}
> Was wurde denn mit obigem Code angezeigt?
Wenn ich den Fragebogen abspiele wird der gleiche Namen für mehrere Vignetten verwendet. Also z.B.
1. Emma ist hochbegabt. Die meisten Menschen glauben, dass hochbegabte Personen emotionale und soziale Defizite besitzen. Emma ist jedoch äußerst gut im sozialen Umgang mit anderen, sehr empathisch und kann die eigenen Gefühle sehr gut ausdrücken.
2. Emma ist eine reiche Person. Die meisten Menschen glauben, dass reiche Personen unfreundlich und unbarmherzig sind. Auch Emma besitzt diese Eigenschaften und verhält sich anderen gegenüber unfreundlich und unbarmherzig.
Mein Ziel ist es, dass in der zweiten Vignette nicht mehr Emma als Name verwendet wird. Aber Emma prinzipiell sowohl reich als auch hochbegabt sein könnte (deswegen meine Idee der randomisierten Zuordnung).
Das gleiche Problem habe ich auch mit der Randomisierung der Verhaltensweisen. Ich vermute da liegt die gleiche Ursache vor.
> und was passiert, wenn Sie nach Definition von $namenuniversell nur diesen Code verwenden:
replace('%name%', $namenuniversell[$i]);
Dann kommt folgende Fehlermeldungen:
- Für die Funktion replace() wurden nicht ausreichend Argumente angegeben, 2 Argumente sind zwingend erforderlich. Weitere Details finden Sie in der Anleitung zur Funktion.
- Für den Platzhalter %name% wurde weder ein Eingabefeld mit prepare_input() vorbereitet, noch ein Inhalt mit replace() festgelegt.