ZADANIE STROOPA 1. Informacje ogólne Zadanie służy do pomiaru

Transkrypt

ZADANIE STROOPA 1. Informacje ogólne Zadanie służy do pomiaru
ZADANIE STROOPA
1. Informacje ogólne
Zadanie służy do pomiaru zjawiska interferencji uwagowej. Aplikacja jest przygotowana w
języku C++ z wykorzystaniem otwartych bibliotek.
Danymi wejściowymi są: plik konfiguracyjny (.cfg) zawierający wartości podstawowych
zmiennych sterujących zadaniem, pliki graficzne (.bmp) wyświetlane w trakcie zadania oraz plik
tekstowy (.txt) zawierające wyświetlaną badanemu instrukcję wykonania zadania. Na wyjściu
aplikacja tworzy plik wynikowy (.txt), zawierający dane o konfiguracji zadania i reakcjach osoby
badanej.
2. Ekran startowy
Po uruchomieniu aplikacji wyświetlany jest ekran startowy.
Okno zawiera następujące pola edycyjne:
a. Pseudonim – pole typu aln, wypełniane przez osobę badaną, zapisywane w pliku wynikowym;
pole nie dopuszcza polskich liter, znaków specjalnych ani spacji; pole wymagane
b. Wiek – pole liczbowe i całkowite, wypełniane przez osobę badaną, zapisywane w pliku
wynikowym; pole nie umożliwia wprowadzenia wartości mniejszej bądź równej zero; pole
wymagane
c. Płeć – pole z listą rozwijaną, dwie dostępne wartości: „Kobieta” bądź „Mężczyzna”;
zapisywane w pliku wynikowym; pole wymagane
d. Warunek – pole z listą rozwijaną, prezentującą nazwy dostępnych plików konfiguracyjnych
.cfg; pole umożliwia wybór tylko jednej wartości; pole wymagane
e. Zapis wyników? – pole wyboru; jeżeli jest zaznaczone, aplikacja tworzy plik wynikowy; jeżeli
pole jest odznaczone, dane nie są zapisywane (tryb treningu)
Wartości wpisane w powyższe pola powinny być zachowywane aż do momentu zakończenia pracy
aplikacji, tj. uruchomienie zadania i jego przerwanie powoduje powrót do ekranu startowego, lecz nie
czyści zawartości jego pól. Przyciśnięcie „Uruchom” powoduje rozpoczęcie zadania.
3. Dane wejściowe
3.1 Plik konfiguracyjny
Plik z rozszerzeniem .cfg zawiera szereg wartości dla zmiennych sterujących przebiegiem
zadania:
a. nazwa_inst – nazwa istniejącego pliku .txt, zawierającego tekst instrukcji; jest on wyświetlany
tuż po uruchomieniu zadania, przed wyświetleniem pierwszej bitmapy
b. nazwa_seq – nazwa istniejącego pliku .txt, zawierającego nazwy bitmap, jakie mają być
wyświetlane w ramach zadania
c. nazwa_tlo – nazwa istniejącego pliku .bmp, który stanowić będzie tło zadania, na którym
wyświetlane będą bitmapy
d. warunek – pole mogące przyjąć jedną z dwóch wartości: „Los” bądź „Reg”; wartość ta
determinuje kolejność wyświetlania bitmap określonych w pliku sekwencji (wartość w polu
nazwa_seq)
e. progbar – pole binarne, przyjmujące wartość „1” bądź „0”; w przypadku wartości „1”, w
zadaniu wyświetlany jest pasek postępu, jeżeli „0” – pasek nie jest wyświetlany
f. timeout – pole liczbowe, nieujemne, definiujące liczbę ms po wyświetleniu bitmapy jaka musi
upłynąć by bodziec zniknął z ekranu bez reakcji badanego
g. intertrial - pole liczbowe, nieujemne, definiujące liczbę ms jaka musi upłynąć po naciśnięciu
przez badanego klawisza bądź zniknięciu bitmapy (po przekroczeniu wartości timeout) do
wyświetlenia kolejnej bitmapy
h. min_rt - pole liczbowe, nieujemne, definiujące wartość w ms, jaką musi przekroczyć czas
reakcji badanego w danej próbie by móc uznać reakcję za poprawną; jeżeli zarejestrowany z
próbie czas reakcji jest mniejszy niż wartość w polu min_rt, poprawność w próbie oznaczana
jest jako 0 w pliku wynikowym, niezależnie od wciśniętego klawisza
i. alfa – pole liczbowe, określające w pikselach wartość przyrostu paska postępu z każdą próbą
3.2 Pliki graficzne
Jako bodźce wyświetlane w zadaniu wykorzystywane będą bitmapy w formie .bmp.
Wyświetlanie każdej z nich jest wyśrodkowane na ekranie. Aplikacja ma wykorzystywać kanał alfa
plików graficznych (przezroczystość). Nazwy, jak i kolejność wyświetlanych obrazów zdefiniowane
są w pliku z sekwencją, określonym w wybranym na ekranie startowym pliku konfiguracyjnym .cfg
(zmienna nazwa_seq).
Nazwy plików graficznych preparowane są zgodnie z określonym kluczem, umożliwiającym
określenie czy reakcja badanego jest poprawna – pierwsza litera nazwy oznacza klawisz poprawnej
reakcji. Przykładowo, nazwa formatu z*.bpm oznacza, że poprawność w próbie, w której wyświetlana
jest dana bitmapa wynosi 1 jeżeli został przyciśnięty klawisz „z”. Przyciśnięcie jakiegokolwiek innego
klawisza oznacza błędną reakcję i poprawność równą 0 w danej próbie, zapisywaną w pliku
wynikowym. Druga z liter nazwy pozwala klasyfikować próby do jednej z dwóch kategorii (litera „z”
bądź litera „n”) – wartość ta nie ma wpływu na przebieg zadania, lecz również musi być odkładana w
pliku wynikowym. Oznacza to, że nazwy mogą przykładowo rozpoczynać się od zz*.bpm, mn*.bmp
etc. Pozostałe litery nazwy bitmapy, jak i jej długość są dowolne.
3.3 Plik z sekwencją
Plik w formacie .txt, zawierający nazwy bitmap, jakie mają być wyświetlane w trakcie trwania
zadania. Nazwy wpisywane są w jednej kolumnie, jedna nazwa per wiersz.
Jeżeli w pliku konfiguracyjnym .cfg, zmienna warunek ma wartość „Reg”, bitmapy mają być
wyświetlane w kolejności zgodnej z kolejnością wierszy, od pierwszego do ostatniego. Zadanie
kończy się w momencie wyświetlenia ostatniej bitmapy wpisanej w pliku z sekwencją. Jeżeli w pliku
konfiguracyjnym zmienna warunek ma wartość „Los”, kolejność wyświetlana bitmap z pliku
sekwencją jest losowana (bez zwracania). Zadanie kończy się w momencie, gdy każda z bitmap
została wyświetlona dokładnie jeden raz.
4. Przebieg zadania
Właściwe zadanie składa się z określonej liczby prób. W ramach każdej z nich, prezentowany
jest bodziec graficzny, który pozostaje na ekranie do momentu wciśnięcia przycisku na klawiaturze
bądź do momentu, w którym upłynie zadany czas. Parametry zadania regulują poszczególne wpisy w
pliku konfiguracyjnym.
Bezpośrednio po uruchomieniu zadania, na ekranie wyświetlana jest instrukcja, pobrana z
odpowiedniego pliku .txt, wskazanego w wybranym na ekranie startowym pliku konfiguracyjnym, w
polu nazwa_inst. Tekst pozostaje na ekranie dopóki nie zostanie przyciśnięty dowolny klawisz na
klawiaturze.
Po przyciśnięciu klawisza natychmiastowo wyświetlany jest bitmapa tła, której ścieżka
określona jest w pliku konfiguracyjnym przez wartość zmiennej nazwa_tlo. Bitmapa wyświetlana jest
w trybie pełnoekranowym. Po upływie czasu w milisekundach wyznaczanego wartością zmiennej
intertrial w pliku konfiguracyjnym, prezentowana jest centralnie na ekranie bitmapa o nazwie
oznaczonej w pierwszym wierszu pliku sekwencji, wskazywanego w pliku konfiguracyjnym wartością
zmiennej nazwa_seq (w przypadku, gdy wartość zmiennej warunek = „Reg”; w przypadku wartości
„Los” pierwsza i kolejne bitmapy są losowane spośród wszystkich wpisów pliku sekwencji).
Zadaniem osoby badanej jest przyciśnięcie jak najszybciej odpowiedniego klawisza na klawiaturze.
Przyciśnięcie klawisza (niezależnie od poprawności) kończy próbę – bitmapa znika z ekranu, po czym
wyświetlana jest kolejna zgodnie z plikiem sekwencji (bądź kolejna jest losowana), po upływie czasu
warunkowanego wartością zmiennej intertrial. Jeżeli osoba badana nie zareaguje przyciśnięciem
żadnego klawisza, a czas od momentu prezentacji bodźca przekroczy wartość zmiennej timeout w
pliku konfiguracyjnym, próba również jest kończona. Liczba prób równa jest liczbie wierszy w pliku
sekwencji (nazwa_seq). Po zakończeniu ostatniej próby, na ekranie wyświetlany jest komunikat:
„Dziękujemy za udział w badaniu”, a w kolejnym wierszu: „Uzyskałeś poprawność x/y prób oraz
średni czas reakcji równy z milisekund.” Zmienna x to liczba poprawnych reakcji, wykonanych w
całym zadaniu, y – liczba prób, natomiast z – to uśredniony czas reakcji ze wszystkich prób, w których
poprawność była równa 1.
W każdej próbie zapisywana jest poprawność reakcji (zmienna poprawnosc w pliku
wynikowym) oraz czas reakcji w milisekundach (zmienna rt w pliku wynikowym). W momencie
wciśnięcia klawisza, rejestrowana jest jego wartość i porównywana z pierwszą literą nazwy
wyświetlonej bitmapy – jeżeli istnieje zgodność, reakcja jest uznawana za poprawną (wartość „1” w
pliku wynikowym), jeżeli nie – reakcja w próbie jest niepoprawna (wartość „0” w pliku wynikowym).
Rejestrowany jest również czas w milisekundach, jaki upłynął od momentu prezentacji bitmapy do
przyciśnięcia klawisza. W sytuacji braku reakcji wartość tej zmiennej równa jest wartości timeout z
pliku konfiguracyjnego. Jeżeli zaś czas reakcji jest mniejszy od wartości pola min_rt w pliku
konfiguracyjnym, wartość zmiennej poprawnosc równa jest automatycznie ustawiana na 0, niezależnie
od przyciśniętego klawisza.
Jeżeli w pliku konfiguracyjnym wartość zmiennej progbar jest równa „1”, w środkowej górnej
części ekranu wyświetlany jest pasek postępu, który zapełnia się w miarę trwania zadania.
Po każdej próbie pasek postępu zapełnia się o daną liczbę pikseli, zależnie od poprawności i czasu
reakcji, co wyraża wzór:
1
𝑟𝑜𝑢𝑛𝑑[(𝛼 + ) ∗ poprawność]
𝑅𝑇
gdzie α jest liczbą pikseli określoną w pliku konfiguracyjnym, RT – czasem reakcji w danej próbie,
poprawność – poprawnością w danej próbie.
5. Plik wynikowy
Plik wynikowy ma format .txt, zaś jego nazwa równa jest wartości wpisanej w polu
„Pseudonim” na ekranie startowym. Liczba wierszy równa się liczbie prób, a każdy wiersz zawiera
poniższe informacje, zgodnie z reakcjami osoby badanej w danej próbie:
a. nick – zmienna typu aln, równa wartości wpisanej w pole „Pseudonim” na ekranie
startowym
b. wiek – zmienna int, równa wartości wpisanej w pole „Wiek” na ekranie startowym
c. plec – zmienna zawierająca wartość „K” jeżeli na ekranie startowym z listy rozwijanej pry
polu „Płeć” wybrano wartość „Kobieta” bądź wartość „M” jeżeli w polu Płeć wybrano
wartość „Mężczyzna”
d. warunek – zmienna zawierająca wartość „Los” jeżeli w wykorzystanym pliku
konfiguracyjnym zmienna warunek przyjęła wartość „Los” bądź wartość „Reg” jeżeli w
pliku konfiguracyjnym zmienna warunek przyjęła wartość „Reg”
e. nazwa_cfg – zmienna zawierająca nazwę pliku .cfg, wybranego na ekranie startowym z
listy rozwijanej pola „Warunek”
f. trial – zmienna liczbowa, nieujemna, określająca numer próby; pierwszym numerem jest
„1”, ostatnim n, gdzie n jest równe liczbie wierszy w pliku z sekwencją, określonym
wartością zmiennej nazwa_seq w pliku konfiguracyjnym
g. nazwa_bmp – zmienna zawierająca nazwę prezentowanej w próbie o numerze trial
bitmapy, zgodnie z plikiem sekwencji
h. zgodnosc – zmienna zawierająca wartość „z” bądź „n” w zależności od drugiej litery
nazwy bitmapy prezentowanej w danej próbie
i. poprawnosc – zmienna przyjmująca wartość 0 bądź 1, w zależności od tego, czy wartość
naciśniętego przez badanego klawisza równa jest pierwszej literze prezentowanej bitmapy
j. rt – zmienna liczbowa, której wartość równa jest liczbie milisekund jakie upłynęły od
momentu wyświetlenia bitmapy na ekranie do momentu przyciśnięcia klawisza przez
osobę badaną