Skip to content

Instantly share code, notes, and snippets.

@smathot
Created November 30, 2012 16:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save smathot/4176984 to your computer and use it in GitHub Desktop.
Save smathot/4176984 to your computer and use it in GitHub Desktop.
OpenSesame counterbalancing example
# Generated by OpenSesame 0.25-pre1 (Dashy Darwin)
# Thu Sep 15 16:39:04 2011 (posix)
#
# Copyright Sebastiaan Mathot (2010-2011)
# <http://www.cogsci.nl>
#
set foreground "white"
set subject_parity "even"
set description "Default description"
set title "Counterbalancing example"
set sampler_backend "legacy"
set coordinates "relative"
set height "768"
set mouse_backend "legacy"
set width "1024"
set compensation "0"
set keyboard_backend "legacy"
set background "black"
set subject_nr "0"
set canvas_backend "legacy"
set start "experiment"
set synth_backend "legacy"
define sketchpad welcome_even
set duration "keypress"
set start_response_interval "no"
set description "Displays stimuli"
draw textline 0 -96 "Your task is to press the 'z' key if you see a red circle" center=1 color=white font_family=mono font_size=18 show_if="always"
draw textline 0 -32 "and the '/' key if you see a blue circle" center=1 color=white font_family=mono font_size=18 show_if="always"
draw textline 0 64 "Press any key to begin!" center=1 color=white font_family=mono font_size=18 show_if="always"
define reset_feedback reset_feedback
define loop experiment_loop_odd
set repeat "1"
set description "Repeatedly runs another item"
set item "block_sequence"
set column_order "blue_response;red_response"
set cycles "1"
set order "random"
setcycle 0 red_response "slash"
setcycle 0 blue_response "z"
run block_sequence
define loop experiment_loop_even
set repeat "1"
set description "Repeatedly runs another item"
set item "block_sequence"
set column_order "red_response;blue_response"
set cycles "1"
set order "random"
setcycle 0 red_response "z"
setcycle 0 blue_response "slash"
run block_sequence
define sketchpad red_fix
set duration "500"
set description "Displays stimuli"
set start_response_interval "no"
draw fixdot 0 0 color=red show_if="always"
define sketchpad fixation
set duration "1000"
set description "Displays stimuli"
set start_response_interval "no"
draw fixdot 0 0 color=white show_if="always"
define feedback feedback
set duration "keypress"
set description "Provides feedback to the participant"
draw textline 0 -160 "Your average response time was [avg_rt] ms" center=1 color=white font_family=mono font_size=18 show_if="always"
draw textline 0 -96 "Your accuracy was [acc]%" center=1 color=white font_family=mono font_size=18 show_if="always"
draw textline 0 0 "Press any key to continue!" center=1 color=white font_family=mono font_size=18 show_if="always"
define loop block_loop
set repeat "5"
set description "Repeatedly runs another item"
set item "trial_sequence"
set column_order "target_color;correct_response"
set cycles "2"
set order "random"
setcycle 0 correct_response "[red_response]"
setcycle 0 target_color "red"
setcycle 1 correct_response "[blue_response]"
setcycle 1 target_color "blue"
run trial_sequence
define sequence trial_sequence
run fixation "always"
run target "always"
run keyboard_response "always"
run green_fix "[correct] = 1"
run red_fix "[correct] = 0"
run logger "always"
define sequence experiment
run getting_started "always"
run welcome_even "[subject_parity] = even"
run welcome_odd "[subject_parity] = odd"
run experiment_loop_even "[subject_parity] = even"
run experiment_loop_odd "[subject_parity] = odd"
run goodbye "always"
define sketchpad welcome_odd
set duration "keypress"
set start_response_interval "no"
set description "Displays stimuli"
draw textline 0 -96 "Your task is to press the 'z' key if you see a blue circle" center=1 color=white font_family=mono font_size=18 show_if="always"
draw textline 0 -32 "and the '/' key if you see a red circle" center=1 color=white font_family=mono font_size=18 show_if="always"
draw textline 0 64 "Press any key to begin!" center=1 color=white font_family=mono font_size=18 show_if="always"
define sketchpad goodbye
set duration "keypress"
set description "Displays stimuli"
set start_response_interval "no"
draw textline 0 -64 "The experiment is finished!" center=1 color=white font_family=mono font_size=18 show_if="always"
draw textline 0 64 "Press any key to exit" center=1 color=white font_family=mono font_size=18 show_if="always"
define keyboard_response keyboard_response
set allowed_responses "z;slash"
set description "Collects keyboard responses"
set timeout "infinite"
define logger logger
set description "Logs experimental data"
define sequence block_sequence
run reset_feedback "always"
run block_loop "always"
run feedback "always"
define sketchpad green_fix
set duration "500"
set description "Displays stimuli"
set start_response_interval "no"
draw fixdot 0 0 color=green show_if="always"
define notepad getting_started
set note "This example gives a very simple demonstration of how to use counterbalancing. In other words, it shows how you can have some aspects of your experiment depend on whether the subject number is odd or even."
set description "Some pointers to help you gest started!"
define sketchpad target
set duration "0"
set description "Displays stimuli"
set start_response_interval "no"
draw ellipse -64 -64 128 128 fill=1 penwidth=1 color=[target_color] show_if="always"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment