-
Notifications
You must be signed in to change notification settings - Fork 0
Programmstruktur
In diesem Artikel wird der Aufbau des Programms vom Groben ins Feine erläutert (top-down).
Am besten klappt man zunächst einmal in dem Projektbaum alle Elemente zu und erweitert sie erst dann, wenn sie untenstehend erläutert werden. Wenn man im Baum auf ein Element klickt, erscheint im rechten Fenster der Inhalt des Elementes.
Das Programm besteht grob gesehen aus drei Struktur-Teilen
- Vorbeitung (
preparation
) - Durchführung des Experiments (
experiment
) - Durchführung des Trainings (
training
)
Hierbei wird das Experiment nur durchgeführt, wenn [isTraining] = 0
und das Training nur im Fall [isTraining] = 1
. Die Variable var.isTraining
wird im Skript evaluate_choice
in der Vorbereitung gesetzt und hängt davon ab, welchen Programm-Modus man am Anfang auswählt.
Das Version
-Skript dient lediglich der Dokumentation des Versionsverlaufs und das end_text
-Skript informiert den Probanden, dass das Programm beendet wird.
Im Bereich der Vorbereitung finden sich Skripte für
-
Spracheinstellungen (
language_settings
) -
Globale Parameter (
global_settings
) - Die Auswahl des Programm-Modus (Übungsdurchlauf, Experiment (Vortest), Training mit salientem T2 und Experiment (Nachtest)) (
choice_of_mode
,evaluate_choice
) - Ein paar Hilfsfunktionen, die im weiteren Verlauf des Programms benötigt werden (
helper_functions
)
Auch der Aufbau des Experiments selbst ist einfach gestaltet
- Anzeigen der Anweisungen für den Probanden (
experiment_instructions
) - Zurücksetzen der Statistik-Werte, damit keine Werte von vorherigen Experimenten übernommen werden (
reset_statistics
,reset_feedback
) - Ausführen der Runden-Schleife
experiment_laps_loop
gemäß der invar.num_of_laps
eingestellten Rundenzahl. Da die Steurung über eine Variable erfolgt, wird im Feld Repeat dort nichts angezeigt. Man muss in die Skripteinstellungen des Elementes gehen, um das zu sehen. - Feedback für den Probanden über seine Trefferquote (
give_feedback
)
Diese Schleife ist für die Abarbeitung der Runden zuständig und wird so oft ausgeführt wie in var.num_of_laps
festgelegt (siehe global_settings).
Die Ausführung ist in der Sequenz experiment_laps_sequence
untergebracht und hat folgenden Aufbau:
- Anzeigen der Rundeninformation für den Probanden (
lap_info_text
) - Ausführen der eigentlichen Experiment-Schleife, die 10 mal die Stimuli-Sequenz anzeigt
In dieser Schleife findet sich der eigentliche Programmcode zur Anzeige der Stimuli-Sequenz. Diese Schleife wird 10 mal durchlaufen und erzeugt dabei Stimuli-Sequenzen mit je 5 shortSOA und 5 longSOA, also 5 mal folgt T2 in kurzer Distanz auf T1 und 5 mal in großer Distanz. Die Reihenfolge von shortSOA und longSOA ist dabei zufällig:
Innerhalb der Programmsequenz trial_sequence
in dieser Schleife erfolgen folgende Programmschritte:
- Anzeigen des Fixation-Points für ca. 1 Sekunde
- Generieren der Stimuli-Sequenz in
create_stim_list
- Anzeigen der Stimuli-Sequenz in
show_stim_psycho_backend
odershow_stim_any_backend
. Welches Skript für die Anzeige ausgeführt wird, hängt vom eingestellten Back-End ab. - Abfrage der Ziffern in
ask_for_T1_and_T2
- Aktualisieren von Statistikdaten wie
var.acc
(accuracy) inupdate_statistics
- Protokollieren der Rundenwerte und aller Einstellungen in
logger
Das Training folgt fast exakt derselben Struktur des Experiments. Deshalb sind die meisten Items in der Programmstruktur auch mit denen des Trainings verlinkt (linked copy).
Eigentlich gibt es nur zwei Unterschiede
- Eine eigene Anleitung (
training_instructions
) - Die Ausführungsschleife
training_block_loop
hat nur den Wert shortSOA und iteriert diesen 10 mal.
Sourcecode-Repository: https://github.com/PsychoProjects/RCL