[solved] Stopping experiment, without losing logs.
Hello,
First of all, I am completely new to opensesame, as I am to this forum. Excuse me if I'm not asking this question at the right place on the forum.
On topic:
We want to use a very simple experiment in which the subjects have to press 'a' when the word ape comes up, 'b' when the word beer comes up, 'c' when the word car comes up etc. This experiment is endless and the amount of items they complete is a measure of helpfullness (we tell subjects it's helping if they are completing as many items as possible).
The experiment is pretty much working (and logging).
This is an image of our very basic experiment, including a practice loop and then the main loop:
However, there is a small problem. It seems pretty easy to solve, except we are completely new to this program. We want the subjects to have the option to quit the experiment (by pressing space bar or whatsoever) but without losing our logs (this happens when pressing escape).
In an ideal situation the subject would be able to press space to quit at any time he likes and be subsequently shown an end screen (like: 'thank you for participating'). Our logger would then tell us how many items the subject completed and in how much time. This is basically what we want to measure.
Thanks in advance!
Pepijn
Comments
Hi Pepijn, welcome to the forum.
It seems that you've already come pretty far in building your experiment - nice. When you click the loop item, you can check a 'show advanced options' box to reveal a 'break-if' command line. Here you could insert: =self.get("response")=='space'
Normally this would make the loop repeat until the desired break button was pressed; however, the program would give an error since during the first iteration through the loop, there is no 'response' variable to begin with (the first response is made by the keyboard item further in the loop!). Hence, you can place an inline_script item at the top of your experiment, wherein you make the variable: exp.response =0. (the latter could be any value except your break value; it's just about getting the variable.) Note that by giving the variable the "exp." extension, it can be called upon anywhere in your experiment. Without the extension, it would only be "known" within inline_scripts.
Now, you could just place your logger below and outside of the loop; and the same goes for your final screen that thanks the participant.
Hope this helps!
Cheers,
Josh