Feedback - How can I use the branch element when "list" element is used


Author
Message
ubcparentinglab
ubcparentinglab
Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)
Group: Forum Members
Posts: 8, Visits: 35
Hello,

I had to change my experiment to include the "list element"t because when I used /selcet= noreplace in the text element it would still use items twice.
With my changes it would  show every numberstring only once and in a random order (how I wanted), but my feedback doesn't appear anymore. I don't know how I hve to type it in.
Before my script looked like this (just the essential elements are listed here):
<text numberstring>
/ items = numberstring
/ select = noreplace
/ position = (50%, 50%)
/ fontstyle = ("Verdana", 12%, false, false, false, false, 5, 0)
/ txcolor = darkblue
</text>

<item numberstring>
/1 = "98472536"
/2 = "74619285"
/3 = "45298163"
/4 = "17359648"
/5 = "98423517"
/6 = "53786291"
/7 = "26513984"
/8 = "64925713"
/9 = "85396742"
/10 = "68352194"
</item>

 <trial numprompt>
/ stimulustimes = [0=numberreminder; 2000=numberstring; 22000=eraser, imagine]
/ recorddata = false
/ timeout = 25000
</trial>


<trial numbers_feedback>
/ branch = [if(item.numberstring.item.1==text.numberstring.currentitem)trial.numbers_feedback1]
/ branch = [if(item.numberstring.item.2==text.numberstring.currentitem)trial.numbers_feedback2]
/ branch = [if(item.numberstring.item.3==text.numberstring.currentitem)trial.numbers_feedback3]
/ branch = [if(item.numberstring.item.4==text.numberstring.currentitem)trial.numbers_feedback4]
/ branch = [if(item.numberstring.item.5==text.numberstring.currentitem)trial.numbers_feedback5]
/ branch = [if(item.numberstring.item.6==text.numberstring.currentitem)trial.numbers_feedback6]
/ branch = [if(item.numberstring.item.7==text.numberstring.currentitem)trial.numbers_feedback7]
/ branch = [if(item.numberstring.item.8==text.numberstring.currentitem)trial.numbers_feedback8]
/ branch = [if(item.numberstring.item.9==text.numberstring.currentitem)trial.numbers_feedback9]
/ branch = [if(item.numberstring.item.10==text.numberstring.currentitem)trial.numbers_feedback10]
/ branch = [if(item.numberstring.item.11==text.numberstring.currentitem)trial.numbers_feedback11]
/ branch = [if(item.numberstring.item.12==text.numberstring.currentitem)trial.numbers_feedback12]
/ validresponse = (noresponse)
/ trialduration = 2000
/ recorddata = true
</trial>

and then I changed the script like this:
<list numberstring>
/ items = (text.numberstring1, text.numberstring2, text.numberstring3, text.numberstring4,
text.numberstring5, text.numberstring6, text.numberstring7, text.numberstring8,
text.numberstring9, text.numberstring10)
/ replace = false
/ selectionmode = random
</list> 

and the text elements look like this:

<text numberstring1>
/ items = ("98472536")
/ position = (50%, 50%)
/ fontstyle = ("Verdana", 12%, false, false, false, false, 5, 0)
/ txcolor = darkblue
</text>

<text numberstring2>
/ items = ("74659281")
/ position = (50%, 50%)
/ fontstyle = ("Verdana", 12%, false, false, false, false, 5, 0)
/ txcolor = darkblue
</text>

<text numberstring3>
/ items = ("45298163")
/ position = (50%, 50%)
/ fontstyle = ("Verdana", 12%, false, false, false, false, 5, 0)
/ txcolor = darkblue
</text>

etc.    till <text  numberstring10>.

<trial numprompt>
/ stimulustimes = [0=numberreminder; 2000=list.numberstring; 4000=eraser, imagine]
/ recorddata = false
/ timeout = 4000
</trial>

<trial numbers_feedback>
/ branch = [if(list.numberstring.name==text.numberstring1)trial.numbers_feedback1]
/ branch = [if(list.numberstring.name==text.numberstring2)trial.numbers_feedback2]
/ branch = [if(list.numberstring.name==text.numberstring3)trial.numbers_feedback3]
/ branch = [if(list.numberstring.name==text.numberstring4)trial.numbers_feedback4]
/ branch = [if(list.numberstring.name==text.numberstring5)trial.numbers_feedback5]
/ branch = [if(list.numberstring.name==text.numberstring6)trial.numbers_feedback6]
/ branch = [if(list.numberstring.name==text.numberstring7)trial.numbers_feedback7]
/ branch = [if(list.numberstring.name==text.numberstring8)trial.numbers_feedback8]
/ branch = [if(list.numberstring.name==text.numberstring9)trial.numbers_feedback9]
/ branch = [if(list.numberstring.name==text.numberstring10)trial.numbers_feedback10]
/ validresponse = (noresponse)
/ trialduration = 2000
/ recorddata = true
</trial>



How can I get still the right feedback for the number string?
I tried the whole day but couldn't find a solution!


Please help!!!!!




Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 108K
You are using the wrong list property. The 'name' property returns the *name of the <list> element* (here "numberstring" as in <list numberstring>), it does not return whatever item is/was selected by the <list>. Hence your conditional branches can never evaluate to 'true' and will never be executed. For a full listing of available <list> properties, see the language reference for the <list> element.

<trial numbers_feedback>
/ branch = [if(list.numberstring.name==text.numberstring1)trial.numbers_feedback1]
ubcparentinglab
ubcparentinglab
Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)
Group: Forum Members
Posts: 8, Visits: 35
Thank you for your answer but I already knew that "name" is not right command! I looked at the list properties and I also tried "Currentvalue" or "currentindex" before and it wouldn´t work. The same with "list.numberstring.text.numberstring==…" Shall I write just "items"? list.numberstring.items?
I really don´t know what to put that it returns to the item that was used by the list...
Or is the command after the == "text.numberstring1" that is not the right
?

<trial numbers_feedback>
/ branch = [if(list.numberstring.name==text.numberstring1)trial.numbers_feedback1]
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 108K
> Thank you for your answer but I already knew that "name" is not right command!


If you already knew, why are you using it? I'm mystified (no offense intended).

I cannot tell what the proper approach would be, because it is not possible to divine what you actually want the code to *do* based on those few code snippets you provided. Please provide a simple, clear explanation.

Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 108K
Taking a shot at a guess of what you *might* be looking for, here's an example:

<block myblock>
/ trials = [1-3=sequence(mytrial, branchtrial)]
</block>

<trial mytrial>
/ stimulusframes = [1=list.mylist]
/ validresponse = (57)
</trial>

<trial branchtrial>
/ branch = [if (list.mylist.currentvalue == "text.a") trial.atrial]
/ branch = [if (list.mylist.currentvalue == "text.b") trial.btrial]
/ branch = [if (list.mylist.currentvalue == "text.c") trial.ctrial]
/ trialduration = 0
</trial>

<list mylist>
/ items = (text.a, text.b, text.c)
</list>

<text a>
/ items = ("A")
</text>

<text b>
/ items = ("B")
</text>

<text c>
/ items = ("C")
</text>

<trial atrial>
/ stimulusframes = [1=mytext]
/ validresponse = (57)
</trial>

<trial btrial>
/ stimulusframes = [1=mytext]
/ validresponse = (57)
</trial>

<trial ctrial>
/ stimulusframes = [1=mytext]
/ validresponse = (57)
</trial>

<text mytext>
/ items = ("This is trial.<%script.currenttrial%>")
</text>

I might well be wrong, though, as it's not unambiguously clear to me what your code is supposed to achieve exactly.

ubcparentinglab
ubcparentinglab
Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)
Group: Forum Members
Posts: 8, Visits: 35
Thank you so much for your answer! I'm sorry if it sounded weird - I just wanted to give an example how the branch element looked at the moment and my english is not the best!

I missed the quotation marks "" ("text.a"). It's working now for the first feedback but it doesn't work for the following feedbacks. It's really strange.
I attached the whole script so that you can see what it is about. It is really complicated to explain without seeing the script.
In short: you have to memorize a 8-digit number string and to type it in afterwards. Then you will get a feedback how many numbers of the number string you have recalled correctly. The number strings shall appear in a random order and just at once (I thought I use the list option for this, but maybe there is a better solution). The feedback is supposed to be connected to the number string) This worked before when I didn't use the list element but now the feedback doesn't show up and it also doesn't delete the numbers that you typed in.


I really hope you can help me! I would appreciate it!
"text.a""
"text.a"
"text.a"
"text.a"

Attachments
BOY_Load_1st_bug.iqx (507 views, 43.00 KB)
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 108K
I still may be misunderstanding what you are trying to do, but as far as I can tell the feedback trials are invoked correctly (as the attached partial data file proves). Unrelated: I have no idea why you'd want or need all those <trial> elements (one per number string) for feedback purposes.

Attachments
Edited 11 Years Ago by Dave
ubcparentinglab
ubcparentinglab
Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)
Group: Forum Members
Posts: 8, Visits: 35
Because every number string is different and needs a different feedback.

For example: the numbers string1 (856) is selected by the list and  you have to memorize  856
And you type in the number 857. The trial number feedback would prove the typed in number with the actual number and would say 2 numbers are correct.

When the number string 2 (456) is selected by the list the trial number feedback would compare the typed in number string with the actual number string 2. So for every number string there is a special feedback.

Can you follow?

But the feedback doesn't show up anymore on the screen. Just the first feedback - its really strange why it shows the first feedback but not the following ones. I dont know what to change.


Do you have any idea?

Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 108K
> Can you follow?

Yes. However, none of this means you need all those various <trial> elements.

> But the feedback doesn't show up anymore on the screen. Just the first feedback - its really strange why it shows the first feedback but not the following ones.


That's not what I'm seeing, so no, I have no idea. The feedback trials are executed just fine (including stuff showing up on screen).

ubcparentinglab
ubcparentinglab
Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)Respected Member (412 reputation)
Group: Forum Members
Posts: 8, Visits: 35
Apparently it doesn´t  show up only on the computer I used the whole time.
I tried another laptop (used the 30day trial) and it worked perfectly. Also I uploaded the script for our web version and it works.

I´m really sorry for the confusion!

I have no idea why the version of inquisit on this specific laptop does not show the feedback! And it is a registered one!
Really strange!!!!
It still does not show it!
Thank you anyway!

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search