how to introduce a delay to cursor movements.


Author
Message
peter
peter
Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)
Group: Forum Members
Posts: 64, Visits: 210
Dave - 8/29/2022
peter - 8/29/2022
i was locking the object to the mouse along the horizontal axis 
[picture.blob.hposition = mouse.x / 25.6;]

thanks
peter

Could I have actual code that runs, please, instead of a single line? I don't want to make something up from scratch that may or may not end up being similar to what you're actually working at.

that should run now

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: 12K, Visits: 98K
peter - 8/29/2022
Dave - 8/29/2022
peter - 8/29/2022
i was locking the object to the mouse along the horizontal axis 
[picture.blob.hposition = mouse.x / 25.6;]

thanks
peter

Could I have actual code that runs, please, instead of a single line? I don't want to make something up from scratch that may or may not end up being similar to what you're actually working at.


Can you put the images in a ZIP file, please, and attach that ZIP. When you post them like you did, the file names aren't preserved, so I don't know which is which.
peter
peter
Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)
Group: Forum Members
Posts: 64, Visits: 210
Dave - 8/29/2022
peter - 8/29/2022
Dave - 8/29/2022
peter - 8/29/2022
i was locking the object to the mouse along the horizontal axis 
[picture.blob.hposition = mouse.x / 25.6;]

thanks
peter

Could I have actual code that runs, please, instead of a single line? I don't want to make something up from scratch that may or may not end up being similar to what you're actually working at.


Can you put the images in a ZIP file, please, and attach that ZIP. When you post them like you did, the file names aren't preserved, so I don't know which is which.

Unfortunately this system will not let me send the them as zip files. But here are the names.   
peter
peter
Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)
Group: Forum Members
Posts: 64, Visits: 210
Dave - 8/29/2022
peter - 8/29/2022
Dave - 8/29/2022
peter - 8/29/2022
i was locking the object to the mouse along the horizontal axis 
[picture.blob.hposition = mouse.x / 25.6;]

thanks
peter

Could I have actual code that runs, please, instead of a single line? I don't want to make something up from scratch that may or may not end up being similar to what you're actually working at.


Can you put the images in a ZIP file, please, and attach that ZIP. When you post them like you did, the file names aren't preserved, so I don't know which is which.

alternately i can direct message you a drobox link if you have an email address? 
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: 12K, Visits: 98K
peter - 8/29/2022
Dave - 8/29/2022
peter - 8/29/2022
Dave - 8/29/2022
peter - 8/29/2022
i was locking the object to the mouse along the horizontal axis 
[picture.blob.hposition = mouse.x / 25.6;]

thanks
peter

Could I have actual code that runs, please, instead of a single line? I don't want to make something up from scratch that may or may not end up being similar to what you're actually working at.


Can you put the images in a ZIP file, please, and attach that ZIP. When you post them like you did, the file names aren't preserved, so I don't know which is which.

alternately i can direct message you a drobox link if you have an email address? 

You can send me the link via private message here.
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: 12K, Visits: 98K
Dave - 8/29/2022
peter - 8/29/2022
Dave - 8/29/2022
peter - 8/29/2022
Dave - 8/29/2022
peter - 8/29/2022
i was locking the object to the mouse along the horizontal axis 
[picture.blob.hposition = mouse.x / 25.6;]

thanks
peter

Could I have actual code that runs, please, instead of a single line? I don't want to make something up from scratch that may or may not end up being similar to what you're actually working at.


Can you put the images in a ZIP file, please, and attach that ZIP. When you post them like you did, the file names aren't preserved, so I don't know which is which.

alternately i can direct message you a drobox link if you have an email address? 

You can send me the link via private message here.

Thanks for providing the files. I'll have to think about whether this can actually be done. For the record: I'm not sure it's possible. Tentatively, I'd say it probably isn't.

peter
peter
Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)
Group: Forum Members
Posts: 64, Visits: 210
Dave - 8/29/2022
Dave - 8/29/2022
peter - 8/29/2022
Dave - 8/29/2022
peter - 8/29/2022
Dave - 8/29/2022
peter - 8/29/2022
i was locking the object to the mouse along the horizontal axis 
[picture.blob.hposition = mouse.x / 25.6;]

thanks
peter

Could I have actual code that runs, please, instead of a single line? I don't want to make something up from scratch that may or may not end up being similar to what you're actually working at.


Can you put the images in a ZIP file, please, and attach that ZIP. When you post them like you did, the file names aren't preserved, so I don't know which is which.

alternately i can direct message you a drobox link if you have an email address? 

You can send me the link via private message here.

Thanks for providing the files. I'll have to think about whether this can actually be done. For the record: I'm not sure it's possible. Tentatively, I'd say it probably isn't.

well thanks for the help either way.
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: 12K, Visits: 98K
peter - 8/29/2022
Dave - 8/29/2022
Dave - 8/29/2022
peter - 8/29/2022
Dave - 8/29/2022
peter - 8/29/2022
Dave - 8/29/2022
peter - 8/29/2022
i was locking the object to the mouse along the horizontal axis 
[picture.blob.hposition = mouse.x / 25.6;]

thanks
peter

Could I have actual code that runs, please, instead of a single line? I don't want to make something up from scratch that may or may not end up being similar to what you're actually working at.


Can you put the images in a ZIP file, please, and attach that ZIP. When you post them like you did, the file names aren't preserved, so I don't know which is which.

alternately i can direct message you a drobox link if you have an email address? 

You can send me the link via private message here.

Thanks for providing the files. I'll have to think about whether this can actually be done. For the record: I'm not sure it's possible. Tentatively, I'd say it probably isn't.

well thanks for the help either way.

Having thought things through a little bit, something along the lines below should work reasonably well:

Agnese nw script
Much of this is now wrong
The first aim of the project is to explore similarities of cognitive and neural processes between schizophrenia spectrum disorders and self-proclaimed
psychics. Numerous studies have showed that
individuals with schizophrenia spectrum disorders have altered temporal binding window, sense of agency as well as alpha oscillations. The altered state
of these cognitive and neural processes can be argued to be possible contributors towards the positive symptoms (hallucinations and delusions) experienced.
Given that individuals with schizophrenia experiencing positive symptoms and self-proclaimed psychics populations report to have had subjective experiences
such as a sense of direct contact, union, or merging with a perceived entity, it would be interesting to compare the cognitive and neural processes
(temporal sensitivity, sense of agency and alpha oscillation) in schizophrenia population and self-proclaimed psychics population. If similar altered
cognitive and neural processes are found in both populations it would point towards the notion that self-proclaimed psychics and individuals with
schizophrenia experience subjective experiences due to these altered cognitive and neural processes.
2.    The second aim of the project is to investigate the methods used to switch off the subjective experiences by self-proclaimed psychics followed by
assessing if individuals with schizophrenia can employ the same methods to reduce delusions and hallucinations.
3.    The third aim of the research project is to explore how perceptual learning techniques can modify altered temporal sensitivity, sense of agency and
alpha oscillations in individuals with schizophrenia to alleviate some of the experienced positive symptoms. Moreover, given it is argued that neural changes take substantial learning and development the above experiment will be run for 6 months.



space invaders task
Appendix A
The task involved participants playing a game where the tie fighters and baby Yodas descend from the top of the screen towards a horizontal line
at the bottom of the screen. To play the game participants are required to move the cursor along the horizontal line and save/catch as many baby
Yodas as possible while avoiding as many tie fighters as possible. The metacognition of agency task followed a within-subjects design.
Conditions consisted of no lag, short lag and long lag conditions. Dependent variables were performance (hits; i.e. the number of targets touched),
metacognition of performance (subjective experience of how well the targets were captured and non-targets avoided) and metacognition of agency
(subjective experience of whether they were in control of the cursor, from no control to complete control). The better one is at determining
whether or not they were in control of the cursor the better their sensitivity of metacognition of agency is.

Each trial =17 seconds



90 trials in total

Randomised
0ms lag x 30 trials
100ms lag X 30 trials
200ms lag x 30 trials

4 seconds for stims to go from top to bottom

DV's after every trial
DV 1 how would you rate your performace slider scale with percentages {peter think of postioning biases here}
DV 2 how much in control did you feel of the ship slider with percentages

DV 3 baby yodas caught.

bang if they hit ti
nice sound if they hit yoda babay

Mandolrian theme playing in background

Keep horisontal line.

leader board and £20 prize for top gun.

Every time you hit a ti fighter you kill a yoda pasenger.


**we need the looping form ouija and the hos postions from the irt.
bits of code
trial redLirt>
/ ontrialbegin =[picture.deck1.item.1 = "DeckA.jpg"; picture.deck2.item.1 = "DeckB.jpg"; picture.deck3.item.1 = "DeckC.jpg";
picture.deck4.item.1 = "DeckD.jpg"; picture.redcards.item.1= "2_of_diamonds.png";]
/ stimulustimes = [1=tstartsignal, deck1, deck2, deck3, deck4, redcards, tstartsignal;
3000=selectcarda ; 3000=selectcardb ; 3000=selectcardc ; 9=zerosignal; 3000=selectcardd]
/ validresponse = (deck1, deck2, deck3, deck4)
/ beginresponsetime=3000
/ recorddata = false
/ branch=[if (trial.redLirt.response == "deck1") trial.deck1redselect]
/ branch=[if (trial.redLirt.response == "deck2") trial.deck2redselect]
/ branch=[if (trial.redLirt.response == "deck3") trial.deck3redselect]
/ branch=[if (trial.redLirt.response == "deck4") trial.deck4redselect]
/ ontrialend = [values.cardsselected += 1]
/ ontrialend = [ values.response = trial.redLirt.response]
/ ontrialend = [ values.latencyC = trial.redLirt.latency]
</trial>




trial cent_J>
/ stimulusframes = [1= clearscreen, viewhole, center]
/ ontrialbegin = [values.x=trial.search_all.responsex; values.y=trial.search_all.responsey]
/ ontrialbegin = [values.block=2; values.j_type =1]
/ inputdevice = mouse
/ validresponse = (mousemove)
/ branch = [if (mouse.x > 0.45*display.width && mouse.x < 0.55*display.width && mouse.y > 0.45*display.height && mouse.y < 0.55*display.height) {
trial.search_all;} else {trial.cent_J;}]
/ recorddata = false
</trial>


you will gt the origonal h postion on the first loop
<expressions>
/ trial_1 = sequence (70%, 90%, 40%, 20%, 80%, 50%,
60%, 30%, 90%, 80%, 40%, 20%,
                     90%, 70%, 60%, 80%, 30%, 20%,
                     90%, 60%, 30%, 50%, 20%, 70% )    
</expressions>

/ boom = (values.hospos) + - 10)
**************************************************************************************************************
                                             Defalts
**************************************************************************************************************
<defaults>
/ minimumversion = "4.0.0.0"
/ fontstyle = ("Arial", 3%, false, false, false, false, 5, 0)
/ lptaddresses = (lpt3=DFB8)
/ inputdevice = mouse
/ screencolor = black
</defaults>
**************************************************************************************************************
                                                Values
**************************************************************************************************************



**************************************************************************************************************
                                                        Data
**************************************************************************************************************

**************************************************************************************************************
                                                        Data
**************************************************************************************************************
<data>
/file = "ouija_1_trial_Data.iqdat"
/ columns = [mouse.x mouse.y date time values.timer, subject, group, blockcode, values.block, trialnum, trialcode, values.outcome, response, latency, correct, ]
/separatefiles = true
/ audit = true
</data>,

<summarydata>
/file = "ouija_1_Data_summary.iqdat"
/columns = [script.startdate, script.starttime, values.timer, script.subjectid, script.elapsedtime, values.completed, values.crash]
</summarydata>
**************************************************************************************************************

**************************************************************************************************************
expressions>
/
</expressions>
***************************************************************************************************************


Main Experiment
***************************************************************************************************************
<expt main>
/ blocks = [1=fly]
/onexptend = [values.completed = 1]
</expt>

***************************************************************************************************************
*******************
***************************************************************************************************************
<block fly>
/ onblockbegin = [
    list.x.reset(); // empty the list that holds our collect x coordinates for the x-wing
    picture.xwing.hposition = mouse.x / 25.6; // set x-wing to mouse x position at the start of the block
]
/ trials = [1=fly]
</block>

***********************************************Trials*********************************************************
/ ontrialbegin = [if (values.bangaway > 1000) {picture.bang.hposition = 110}]
/ ontrialbegin = [if (values.bangaway > 2000) { values.bangaway = 0}]

Perhaps a pre trial trial that starts the of an iteration count,

// empty list to hold our collected x coordinates
<list x>
/ selectionmode = sequence
</list>

<trial fly>
/ ontrialbegin = [
    if (values.timer == 0) {
        values.t_start = script.elapsedtime; // record time at the start of the very first trial
    };
    values.t_elapsed = script.elapsedtime - values.t_start; // calculate time elapsed since start of first trial
]
/ ontrialbegin = [values.timer = values.timer +1]
/ ontrialbegin = [values.overlap = values.overlap +1]
/ ontrialbegin = [if (values.bangaway > 100) {picture.bang.hposition = 110}]
/ ontrialbegin = [if (values.bangaway > 200) {values.bangaway = 0}]
     / ontrialbegin = [values.overlap = values.overlap +1]
/ ontrialbegin =[values.hosposL = picture.xwing.hposition -.5; ]
/ ontrialbegin =[values.hosposH = picture.xwing.hposition +.5]
/ ontrialbegin =[picture.ti.vposition = picture.ti.vposition +.2; picture.ti2.vposition = picture.ti2.vposition +.2; picture.ti3.vposition = picture.ti3.vposition +.2;
picture.baby.vposition = picture.baby.vposition +.2; picture.baby2.vposition = picture.baby2.vposition +.2; picture.baby3.vposition = picture.baby3.vposition +.2]

/ ontrialbegin = [
    list.x.appenditem(mouse.x / 25.6); // store mouse x coordinates in list set to sequential selection
    // if time elapsed is equal to or greater than set delay, start setting x-wing position to coordinates collected in our list
    if (values.t_elapsed >= values.delay) {
        picture.xwing.hposition = list.x.nextvalue;
    };
]

/ stimulustimes = [0= clearscreen, space, fire, xwing, ti, baby, baby2, baby3, ti2, ti3, bang]
/ trialduration = .10
/ inputdevice = mouse// set to mouse for testing purposes to make the delay between cursor movement and x-wing movement really obvious
/ validresponse = (mousemove)
/ recorddata = false

/ ontrialend = [if (picture.ti.vposition > 99) {picture.ti.vposition = 0; picture.ti.hposition = expressions.trial_1}]
/ ontrialend = [if (picture.ti2.vposition > 99) {picture.ti2.vposition = 0; picture.ti2.hposition = expressions.trial_1}]
/ ontrialend = [if (picture.ti3.vposition > 99) {picture.ti3.vposition = 0; picture.ti3.hposition = expressions.trial_1}]
/ ontrialend = [if (picture.baby.vposition > 99) {picture.baby.vposition = 0; picture.baby.hposition = expressions.trial_1}]
/ ontrialend = [if (picture.baby2.vposition > 99) {picture.baby2.vposition = 0; picture.baby2.hposition = expressions.trial_1}]
/ ontrialend = [if (picture.baby3.vposition > 99) {picture.baby3.vposition = 0; picture.baby3.hposition = expressions.trial_1}]

/ ontrialend = [if (picture.ti.vposition >90 && picture.ti.hposition > values.hosposL && picture.ti.hposition < values.hosposH )
{picture.bang.hposition = picture.xwing.hposition; values.bangaway = values.bangaway +1; values.overlap = 0}]
/ ontrialend = [if (picture.ti2.vposition >90 && picture.ti2.hposition > values.hosposL && picture.ti2.hposition < values.hosposH )
{picture.bang.hposition = picture.xwing.hposition; values.bangaway = values.bangaway +1; values.overlap = 0}]
/ ontrialend = [if (picture.ti3.vposition >90 && picture.ti3.hposition > values.hosposL && picture.ti3.hposition < values.hosposH )
{picture.bang.hposition = picture.xwing.hposition;values.bangaway = values.bangaway +1; values.overlap = 0 }]

/ ontrialend = [if (picture.ti.hposition == picture.xwing.hposition && values.overlap < 20)
{values.crash = values.crash+1 }]
/ ontrialend = [if (picture.ti2.hposition == picture.xwing.hposition && values.overlap < 20)
{values.crash = values.crash+1 }]
/ ontrialend = [if (picture.ti3.hposition == picture.xwing.hposition && values.overlap < 20)
{values.crash = values.crash+1 }]


/ branch = [if (values.timer > 2000) {trial.agency}
else {trial.fly}]
/ ontrialend = [values.bangaway = values.bangaway +1]
</trial>


WE HAVE A REAL ISSUE WITH REGITERINF=G CRASHES AND SAVES AS THERE WILL BE MULTIPLE ITERATIONS PER OVERLAP OF FIGHTER AND TARGET
this overlap value.overlap apporch does not work.
PERHPAS A VAULES.ITERATION AND VALUES.PREVIOUS ITERATION

i removed this not sure what its for
/ branch = [if (picture.ti.vposition > 99) {trial.fly;} else {trial.fly;}]

the above can also triger a lose value count
then copied and turned into a rescue image that also triers a win value count
iteration

<values>
/ completed = 0
/ block =0
/ x = 0px
/ y = 0px
/ hosposL = 0
/ hosposH = 0
/ bangaway = 0
/ timer = 0
/ agency = 0
/ crash = 0
/ overlap = 0
/ outcome = ""
/ delay = 500 // sets the temporal delay for moving the x-wing; set to high values for testing to make it really obvious
/ t_start = 0 // holds start time of first trial
/ t_elapsed = 0 // holds time elapsed since start of first trial
</values>

for explotion perpas we can say if the ti 99 v position and h postion matches the x wing then exploding or receving x win image (tyopicicaly hos of screen) has = hosposition to x wing
this explotion image can of screen then be poped to x wing then every trial a value can be added to until it reaches a number then ecplotion or colection can be poped back to offscreen postion.


we can branch on coltion but that will need all of the objects to stay as they are
or we just run a counter of wend the v and h positions sink. but that leavs no explotion of scoup up


<trial agency>
/ ontrialbegin = [values.overlap = 0]
/ stimulusframes=[1=agency_inst]
/ inputdevice = keyboard
/ validresponse = ("1", "2", "3", "4", "5",)
/ recorddata = true
/ ontrialend = [values.agency = trial.agency.response-78]
</trial>

This needs more expliantion     
    <text agency_inst>
    / items = ("On a scale of 1-5, to what extend do you feel that you
    were responsible for how many babay yoda's you saved.

    
    1=Not responsible 2= Slightly responsible      3=Partly responsible 4=Fairly responsible 5=Entirely responsible")
    / position = (50%, 30%)
    / fontstyle = ("Arial", 3%)
    / size = (100%, 20%)
    / hjustify = center    
    / valign = top
    / erase = false
    / txcolor = aquamarine
    / txbgcolor = black
    </text>
    
<trial fly2>
/ ontrialbegin =[picture.ti.hposition = expressions.trial_1; picture.ti2.hposition = expressions.trial_1; picture.ti3.hposition = expressions.trial_1;
picture.baby.hposition = expressions.trial_1; picture.baby2.vposition = expressions.trial_1; picture.baby3.vposition = expressions.trial_1;]
/ stimulusframes = [1=clearscreen]
/ trialduration = 50
/ recorddata = false
/ ontrialend = [picture.ti.vposition = 10; picture.ti2.vposition = 10; picture.ti3.vposition = 10;
picture.baby.vposition = 10; picture.baby2.vposition = 10; picture.baby3.vposition = 10;]
</trial>
    
    
    
/ inputdevice = mousekey makes the curser go invisable
************************************************Pictures*******************************************************
<picture xwing>
/ items = ("xwing.png")
/ position = (10%, 100%)
/ valign = bottom
/ erase = false
/ size = (10%, 10%)
</picture>

<picture fire>
/ items = ("fire.jpg")
/ position = (50%, 100%)
/ valign = bottom
/ erase = false
/ size = (105%, 105%)
</picture>

<picture ti>
/ items = ("ti.png")
/ position = (90%, 10%)
/ valign = bottom
/ erase = false
/ size = (10%, 10%)
</picture>

<picture ti2>
/ items = ("ti.png")
/ position = (70%, 10%)
/ valign = bottom
/ erase = false
/ size = (10%, 10%)
</picture>

<picture ti3>
/ items = ("ti.png")
/ position = (30%, 10%)
/ valign = bottom
/ erase = false
/ size = (10%, 10%)
</picture>

<picture baby>
/ items = ("baby.png")
/ position = (20%, 10%)
/ valign = bottom
/ erase = false
/ size = (10%, 10%)
</picture>

<picture baby2>
/ items = ("baby.png")
/ position = (55%, 10%)
/ valign = bottom
/ erase = false
/ size = (10%, 10%)
</picture>

<picture baby3>
/ items = ("baby.png")
/ position = (80%, 10%)
/ valign = bottom
/ erase = false
/ size = (10%, 10%)
</picture>

<picture space>
/ items = ("space,.jpg")
/ position = (50%, 50%)
/ valign = center
/ erase = false
/ size = (100%, 100%)
</picture>
rocket

<picture rocket>
/ items = ("rocket.png")
/ position = (50%, 50%)
/ valign = bottom
/ erase = false
/ size = (10%, 10%)
</picture>


<picture bang>
/ items = ("bang2.gif")
/ valign = bottom
/ hposition = 110
/ vposition = 99
/ erase = false
/ size = (10%, 10%)
</picture>


i could do series of stil pns to make the bang
***************************************************************************************************************

peter
peter
Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)
Group: Forum Members
Posts: 64, Visits: 210
Dave - 8/29/2022
peter - 8/29/2022
Dave - 8/29/2022
Dave - 8/29/2022
peter - 8/29/2022
Dave - 8/29/2022
peter - 8/29/2022
Dave - 8/29/2022
peter - 8/29/2022
i was locking the object to the mouse along the horizontal axis 
[picture.blob.hposition = mouse.x / 25.6;]

thanks
peter

Could I have actual code that runs, please, instead of a single line? I don't want to make something up from scratch that may or may not end up being similar to what you're actually working at.


Can you put the images in a ZIP file, please, and attach that ZIP. When you post them like you did, the file names aren't preserved, so I don't know which is which.

alternately i can direct message you a drobox link if you have an email address? 

You can send me the link via private message here.

Thanks for providing the files. I'll have to think about whether this can actually be done. For the record: I'm not sure it's possible. Tentatively, I'd say it probably isn't.

well thanks for the help either way.

Having thought things through a little bit, something along the lines below should work reasonably well:

Agnese nw script
Much of this is now wrong
The first aim of the project is to explore similarities of cognitive and neural processes between schizophrenia spectrum disorders and self-proclaimed
psychics. Numerous studies have showed that
individuals with schizophrenia spectrum disorders have altered temporal binding window, sense of agency as well as alpha oscillations. The altered state
of these cognitive and neural processes can be argued to be possible contributors towards the positive symptoms (hallucinations and delusions) experienced.
Given that individuals with schizophrenia experiencing positive symptoms and self-proclaimed psychics populations report to have had subjective experiences
such as a sense of direct contact, union, or merging with a perceived entity, it would be interesting to compare the cognitive and neural processes
(temporal sensitivity, sense of agency and alpha oscillation) in schizophrenia population and self-proclaimed psychics population. If similar altered
cognitive and neural processes are found in both populations it would point towards the notion that self-proclaimed psychics and individuals with
schizophrenia experience subjective experiences due to these altered cognitive and neural processes.
2.    The second aim of the project is to investigate the methods used to switch off the subjective experiences by self-proclaimed psychics followed by
assessing if individuals with schizophrenia can employ the same methods to reduce delusions and hallucinations.
3.    The third aim of the research project is to explore how perceptual learning techniques can modify altered temporal sensitivity, sense of agency and
alpha oscillations in individuals with schizophrenia to alleviate some of the experienced positive symptoms. Moreover, given it is argued that neural changes take substantial learning and development the above experiment will be run for 6 months.



space invaders task
Appendix A
The task involved participants playing a game where the tie fighters and baby Yodas descend from the top of the screen towards a horizontal line
at the bottom of the screen. To play the game participants are required to move the cursor along the horizontal line and save/catch as many baby
Yodas as possible while avoiding as many tie fighters as possible. The metacognition of agency task followed a within-subjects design.
Conditions consisted of no lag, short lag and long lag conditions. Dependent variables were performance (hits; i.e. the number of targets touched),
metacognition of performance (subjective experience of how well the targets were captured and non-targets avoided) and metacognition of agency
(subjective experience of whether they were in control of the cursor, from no control to complete control). The better one is at determining
whether or not they were in control of the cursor the better their sensitivity of metacognition of agency is.

Each trial =17 seconds



90 trials in total

Randomised
0ms lag x 30 trials
100ms lag X 30 trials
200ms lag x 30 trials

4 seconds for stims to go from top to bottom

DV's after every trial
DV 1 how would you rate your performace slider scale with percentages {peter think of postioning biases here}
DV 2 how much in control did you feel of the ship slider with percentages

DV 3 baby yodas caught.

bang if they hit ti
nice sound if they hit yoda babay

Mandolrian theme playing in background

Keep horisontal line.

leader board and £20 prize for top gun.

Every time you hit a ti fighter you kill a yoda pasenger.


**we need the looping form ouija and the hos postions from the irt.
bits of code
trial redLirt>
/ ontrialbegin =[picture.deck1.item.1 = "DeckA.jpg"; picture.deck2.item.1 = "DeckB.jpg"; picture.deck3.item.1 = "DeckC.jpg";
picture.deck4.item.1 = "DeckD.jpg"; picture.redcards.item.1= "2_of_diamonds.png";]
/ stimulustimes = [1=tstartsignal, deck1, deck2, deck3, deck4, redcards, tstartsignal;
3000=selectcarda ; 3000=selectcardb ; 3000=selectcardc ; 9=zerosignal; 3000=selectcardd]
/ validresponse = (deck1, deck2, deck3, deck4)
/ beginresponsetime=3000
/ recorddata = false
/ branch=[if (trial.redLirt.response == "deck1") trial.deck1redselect]
/ branch=[if (trial.redLirt.response == "deck2") trial.deck2redselect]
/ branch=[if (trial.redLirt.response == "deck3") trial.deck3redselect]
/ branch=[if (trial.redLirt.response == "deck4") trial.deck4redselect]
/ ontrialend = [values.cardsselected += 1]
/ ontrialend = [ values.response = trial.redLirt.response]
/ ontrialend = [ values.latencyC = trial.redLirt.latency]
</trial>




trial cent_J>
/ stimulusframes = [1= clearscreen, viewhole, center]
/ ontrialbegin = [values.x=trial.search_all.responsex; values.y=trial.search_all.responsey]
/ ontrialbegin = [values.block=2; values.j_type =1]
/ inputdevice = mouse
/ validresponse = (mousemove)
/ branch = [if (mouse.x > 0.45*display.width && mouse.x < 0.55*display.width && mouse.y > 0.45*display.height && mouse.y < 0.55*display.height) {
trial.search_all;} else {trial.cent_J;}]
/ recorddata = false
</trial>


you will gt the origonal h postion on the first loop
<expressions>
/ trial_1 = sequence (70%, 90%, 40%, 20%, 80%, 50%,
60%, 30%, 90%, 80%, 40%, 20%,
                     90%, 70%, 60%, 80%, 30%, 20%,
                     90%, 60%, 30%, 50%, 20%, 70% )    
</expressions>

/ boom = (values.hospos) + - 10)
**************************************************************************************************************
                                             Defalts
**************************************************************************************************************
<defaults>
/ minimumversion = "4.0.0.0"
/ fontstyle = ("Arial", 3%, false, false, false, false, 5, 0)
/ lptaddresses = (lpt3=DFB8)
/ inputdevice = mouse
/ screencolor = black
</defaults>
**************************************************************************************************************
                                                Values
**************************************************************************************************************



**************************************************************************************************************
                                                        Data
**************************************************************************************************************

**************************************************************************************************************
                                                        Data
**************************************************************************************************************
<data>
/file = "ouija_1_trial_Data.iqdat"
/ columns = [mouse.x mouse.y date time values.timer, subject, group, blockcode, values.block, trialnum, trialcode, values.outcome, response, latency, correct, ]
/separatefiles = true
/ audit = true
</data>,

<summarydata>
/file = "ouija_1_Data_summary.iqdat"
/columns = [script.startdate, script.starttime, values.timer, script.subjectid, script.elapsedtime, values.completed, values.crash]
</summarydata>
**************************************************************************************************************

**************************************************************************************************************
expressions>
/
</expressions>
***************************************************************************************************************


Main Experiment
***************************************************************************************************************
<expt main>
/ blocks = [1=fly]
/onexptend = [values.completed = 1]
</expt>

***************************************************************************************************************
*******************
***************************************************************************************************************
<block fly>
/ onblockbegin = [
    list.x.reset(); // empty the list that holds our collect x coordinates for the x-wing
    picture.xwing.hposition = mouse.x / 25.6; // set x-wing to mouse x position at the start of the block
]
/ trials = [1=fly]
</block>

***********************************************Trials*********************************************************
/ ontrialbegin = [if (values.bangaway > 1000) {picture.bang.hposition = 110}]
/ ontrialbegin = [if (values.bangaway > 2000) { values.bangaway = 0}]

Perhaps a pre trial trial that starts the of an iteration count,

// empty list to hold our collected x coordinates
<list x>
/ selectionmode = sequence
</list>

<trial fly>
/ ontrialbegin = [
    if (values.timer == 0) {
        values.t_start = script.elapsedtime; // record time at the start of the very first trial
    };
    values.t_elapsed = script.elapsedtime - values.t_start; // calculate time elapsed since start of first trial
]
/ ontrialbegin = [values.timer = values.timer +1]
/ ontrialbegin = [values.overlap = values.overlap +1]
/ ontrialbegin = [if (values.bangaway > 100) {picture.bang.hposition = 110}]
/ ontrialbegin = [if (values.bangaway > 200) {values.bangaway = 0}]
     / ontrialbegin = [values.overlap = values.overlap +1]
/ ontrialbegin =[values.hosposL = picture.xwing.hposition -.5; ]
/ ontrialbegin =[values.hosposH = picture.xwing.hposition +.5]
/ ontrialbegin =[picture.ti.vposition = picture.ti.vposition +.2; picture.ti2.vposition = picture.ti2.vposition +.2; picture.ti3.vposition = picture.ti3.vposition +.2;
picture.baby.vposition = picture.baby.vposition +.2; picture.baby2.vposition = picture.baby2.vposition +.2; picture.baby3.vposition = picture.baby3.vposition +.2]

/ ontrialbegin = [
    list.x.appenditem(mouse.x / 25.6); // store mouse x coordinates in list set to sequential selection
    // if time elapsed is equal to or greater than set delay, start setting x-wing position to coordinates collected in our list
    if (values.t_elapsed >= values.delay) {
        picture.xwing.hposition = list.x.nextvalue;
    };
]

/ stimulustimes = [0= clearscreen, space, fire, xwing, ti, baby, baby2, baby3, ti2, ti3, bang]
/ trialduration = .10
/ inputdevice = mouse// set to mouse for testing purposes to make the delay between cursor movement and x-wing movement really obvious
/ validresponse = (mousemove)
/ recorddata = false

/ ontrialend = [if (picture.ti.vposition > 99) {picture.ti.vposition = 0; picture.ti.hposition = expressions.trial_1}]
/ ontrialend = [if (picture.ti2.vposition > 99) {picture.ti2.vposition = 0; picture.ti2.hposition = expressions.trial_1}]
/ ontrialend = [if (picture.ti3.vposition > 99) {picture.ti3.vposition = 0; picture.ti3.hposition = expressions.trial_1}]
/ ontrialend = [if (picture.baby.vposition > 99) {picture.baby.vposition = 0; picture.baby.hposition = expressions.trial_1}]
/ ontrialend = [if (picture.baby2.vposition > 99) {picture.baby2.vposition = 0; picture.baby2.hposition = expressions.trial_1}]
/ ontrialend = [if (picture.baby3.vposition > 99) {picture.baby3.vposition = 0; picture.baby3.hposition = expressions.trial_1}]

/ ontrialend = [if (picture.ti.vposition >90 && picture.ti.hposition > values.hosposL && picture.ti.hposition < values.hosposH )
{picture.bang.hposition = picture.xwing.hposition; values.bangaway = values.bangaway +1; values.overlap = 0}]
/ ontrialend = [if (picture.ti2.vposition >90 && picture.ti2.hposition > values.hosposL && picture.ti2.hposition < values.hosposH )
{picture.bang.hposition = picture.xwing.hposition; values.bangaway = values.bangaway +1; values.overlap = 0}]
/ ontrialend = [if (picture.ti3.vposition >90 && picture.ti3.hposition > values.hosposL && picture.ti3.hposition < values.hosposH )
{picture.bang.hposition = picture.xwing.hposition;values.bangaway = values.bangaway +1; values.overlap = 0 }]

/ ontrialend = [if (picture.ti.hposition == picture.xwing.hposition && values.overlap < 20)
{values.crash = values.crash+1 }]
/ ontrialend = [if (picture.ti2.hposition == picture.xwing.hposition && values.overlap < 20)
{values.crash = values.crash+1 }]
/ ontrialend = [if (picture.ti3.hposition == picture.xwing.hposition && values.overlap < 20)
{values.crash = values.crash+1 }]


/ branch = [if (values.timer > 2000) {trial.agency}
else {trial.fly}]
/ ontrialend = [values.bangaway = values.bangaway +1]
</trial>


WE HAVE A REAL ISSUE WITH REGITERINF=G CRASHES AND SAVES AS THERE WILL BE MULTIPLE ITERATIONS PER OVERLAP OF FIGHTER AND TARGET
this overlap value.overlap apporch does not work.
PERHPAS A VAULES.ITERATION AND VALUES.PREVIOUS ITERATION

i removed this not sure what its for
/ branch = [if (picture.ti.vposition > 99) {trial.fly;} else {trial.fly;}]

the above can also triger a lose value count
then copied and turned into a rescue image that also triers a win value count
iteration

<values>
/ completed = 0
/ block =0
/ x = 0px
/ y = 0px
/ hosposL = 0
/ hosposH = 0
/ bangaway = 0
/ timer = 0
/ agency = 0
/ crash = 0
/ overlap = 0
/ outcome = ""
/ delay = 500 // sets the temporal delay for moving the x-wing; set to high values for testing to make it really obvious
/ t_start = 0 // holds start time of first trial
/ t_elapsed = 0 // holds time elapsed since start of first trial
</values>

for explotion perpas we can say if the ti 99 v position and h postion matches the x wing then exploding or receving x win image (tyopicicaly hos of screen) has = hosposition to x wing
this explotion image can of screen then be poped to x wing then every trial a value can be added to until it reaches a number then ecplotion or colection can be poped back to offscreen postion.


we can branch on coltion but that will need all of the objects to stay as they are
or we just run a counter of wend the v and h positions sink. but that leavs no explotion of scoup up


<trial agency>
/ ontrialbegin = [values.overlap = 0]
/ stimulusframes=[1=agency_inst]
/ inputdevice = keyboard
/ validresponse = ("1", "2", "3", "4", "5",)
/ recorddata = true
/ ontrialend = [values.agency = trial.agency.response-78]
</trial>

This needs more expliantion     
    <text agency_inst>
    / items = ("On a scale of 1-5, to what extend do you feel that you
    were responsible for how many babay yoda's you saved.

    
    1=Not responsible 2= Slightly responsible      3=Partly responsible 4=Fairly responsible 5=Entirely responsible")
    / position = (50%, 30%)
    / fontstyle = ("Arial", 3%)
    / size = (100%, 20%)
    / hjustify = center    
    / valign = top
    / erase = false
    / txcolor = aquamarine
    / txbgcolor = black
    </text>
    
<trial fly2>
/ ontrialbegin =[picture.ti.hposition = expressions.trial_1; picture.ti2.hposition = expressions.trial_1; picture.ti3.hposition = expressions.trial_1;
picture.baby.hposition = expressions.trial_1; picture.baby2.vposition = expressions.trial_1; picture.baby3.vposition = expressions.trial_1;]
/ stimulusframes = [1=clearscreen]
/ trialduration = 50
/ recorddata = false
/ ontrialend = [picture.ti.vposition = 10; picture.ti2.vposition = 10; picture.ti3.vposition = 10;
picture.baby.vposition = 10; picture.baby2.vposition = 10; picture.baby3.vposition = 10;]
</trial>
    
    
    
/ inputdevice = mousekey makes the curser go invisable
************************************************Pictures*******************************************************
<picture xwing>
/ items = ("xwing.png")
/ position = (10%, 100%)
/ valign = bottom
/ erase = false
/ size = (10%, 10%)
</picture>

<picture fire>
/ items = ("fire.jpg")
/ position = (50%, 100%)
/ valign = bottom
/ erase = false
/ size = (105%, 105%)
</picture>

<picture ti>
/ items = ("ti.png")
/ position = (90%, 10%)
/ valign = bottom
/ erase = false
/ size = (10%, 10%)
</picture>

<picture ti2>
/ items = ("ti.png")
/ position = (70%, 10%)
/ valign = bottom
/ erase = false
/ size = (10%, 10%)
</picture>

<picture ti3>
/ items = ("ti.png")
/ position = (30%, 10%)
/ valign = bottom
/ erase = false
/ size = (10%, 10%)
</picture>

<picture baby>
/ items = ("baby.png")
/ position = (20%, 10%)
/ valign = bottom
/ erase = false
/ size = (10%, 10%)
</picture>

<picture baby2>
/ items = ("baby.png")
/ position = (55%, 10%)
/ valign = bottom
/ erase = false
/ size = (10%, 10%)
</picture>

<picture baby3>
/ items = ("baby.png")
/ position = (80%, 10%)
/ valign = bottom
/ erase = false
/ size = (10%, 10%)
</picture>

<picture space>
/ items = ("space,.jpg")
/ position = (50%, 50%)
/ valign = center
/ erase = false
/ size = (100%, 100%)
</picture>
rocket

<picture rocket>
/ items = ("rocket.png")
/ position = (50%, 50%)
/ valign = bottom
/ erase = false
/ size = (10%, 10%)
</picture>


<picture bang>
/ items = ("bang2.gif")
/ valign = bottom
/ hposition = 110
/ vposition = 99
/ erase = false
/ size = (10%, 10%)
</picture>


i could do series of stil pns to make the bang
***************************************************************************************************************

thats fantastic , wors a treat,,, massive thanks to you. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search