Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Generated by OpenSesame 0.27.4 (Frisky Freud)
- # Tue Mar 11 10:36:55 2014 (nt)
- # <http://www.cogsci.nl/opensesame>
- set mouse_backend "legacy"
- set subject_parity "even"
- set height "768"
- set font_family "mono"
- set font_italic "no"
- set custom_cursor "no"
- set synth_backend "legacy"
- set title "New experiment"
- set coordinates "relative"
- set start "experiment"
- set sampler_backend "legacy"
- set transparent_variables "no"
- set foreground "white"
- set font_bold "no"
- set description "Default description"
- set background "black"
- set font_size "20"
- set keyboard_backend "legacy"
- set canvas_backend "legacy"
- set compensation "0"
- set subject_nr "0"
- set width "1024"
- define sketchpad welcome
- set duration "keypress"
- set start_response_interval "no"
- set description "Displays stimuli"
- draw textline 0 0 "OpenSesame 0.27 'Frisky Freud'" center=1 color=white font_family="serif" font_size=32 font_italic=no font_bold=no show_if="always" html="yes"
- define inline_script _inline_script
- ___run__
- global n_product
- n_product=5
- __end__
- set _prepare ""
- set description "Executes Python code"
- define notepad getting_started
- __note__
- Hi,
- Welcome to OpenSesame 0.27 "Frisky Freud"!
- If you are new to OpenSesame, you may wish to follow the tutorial,
- which can be found online.
- There are also many example experiments, which may help you to get
- started with creating your own. These can be found in the "examples"
- folder provided with OpenSesame or, again, online,
- For more information, please refer to OpenSesame documentation area:
- <http://osdoc.cogsci.nl/>
- And feel free to ask for help on the forum:
- <http://forum.cogsci.nl/>
- Have fun with OpenSesame!
- --
- Sebastiaan
- __end__
- set description "Some pointers to help you get started!"
- define sequence experiment
- run inline_script "always"
- run logger "always"
- define inline_script inline_script
- ___run__
- from openexp.canvas import canvas
- from openexp.mouse import mouse
- my_canvas1 = canvas(self.experiment)
- my_mouse = mouse(self.experiment, timeout=20)
- my_canvas2 = canvas(self.experiment)
- #Set Number of products
- n_product=3
- #Set attribute to be rated
- C1 = ("Rate these products on roughness")
- #C2 = ("Dry")
- #C3 = ("Smooth")
- C1_left= ("Very much")
- C1_right= ("Very less")
- #Set Product names
- P1= ("Pro1")
- P2= ("Pro2")
- P3= ("Pro3")
- # Set slider dimensions
- slider_w = 700
- slider_h = 10
- #width (1024) and height (768) are dependent on backend settings; make changes to these settings according to number of products
- # Set positions of sliders
- slider_x_P1 = self.get("width")/2-slider_w/2
- slider_y_P1 = self.get("height")/4 -slider_h/2
- slider_x_P2 = self.get("width")/2-slider_w/2
- slider_y_P2 = self.get("height")/2-slider_h/2
- slider_x_P3 = self.get("width")/2-slider_w/2
- slider_y_P3 = self.get("height") * 3/4 -slider_h/2
- while True:
- # Determine the slider fill based on the mouse position
- pos, time = my_mouse.get_pos()
- x, y = pos
- slider_fill_P1 = min(slider_w, max(0, x-slider_x_P1))
- slider_fill_P2 = min(slider_w, max(0, x-slider_x_P2))
- slider_fill_P3 = min(slider_w, max(0, x-slider_x_P3))
- my_canvas1.set_bgcolor ('white')
- my_canvas1.set_fgcolor('blue')
- my_canvas1.clear()
- # Draw the active text
- my_canvas1.text((C1), y=slider_y_P1-100)
- my_canvas1.text((P1), y=slider_y_P1-20)
- my_canvas1.text(C1_left, x=slider_x_P1 - 100, y=slider_y_P1)
- my_canvas1.text(C1_right, x=slider_x_P1 + 800, y=slider_y_P1)
- # Draw the slider frame
- my_canvas1.rect(slider_x_P1, slider_y_P1, slider_w, slider_h)
- # Draw the slider fill
- my_canvas1.rect(slider_x_P1, slider_y_P1, slider_fill_P1, slider_h, fill=True)
- # Draw the mouse cursor
- my_canvas1.arrow(x+20, y+10, x, y)
- # Draw the second slider frame
- my_canvas1.text((P2), y=slider_y_P2-20)
- my_canvas1.text(C1_left, x=slider_x_P2 - 100, y=slider_y_P2)
- my_canvas1.text(C1_right, x=slider_x_P2 + 800, y=slider_y_P2)
- my_canvas1.rect(slider_x_P2, slider_y_P2, slider_w, slider_h)
- # Draw the slider fill
- my_canvas1.rect(slider_x_P2, slider_y_P2, slider_fill_P2, slider_h, fill=True)
- # Draw the third slider frame
- my_canvas1.text((P3), y=slider_y_P3-20)
- my_canvas1.text(C1_left, x=slider_x_P3 - 100, y=slider_y_P3)
- my_canvas1.text(C1_right, x=slider_x_P3 + 800, y=slider_y_P3)
- my_canvas1.rect(slider_x_P3, slider_y_P3, slider_w, slider_h)
- # Draw the slider fill
- my_canvas1.rect(slider_x_P3, slider_y_P3, slider_fill_P3, slider_h, fill=True)
- my_canvas1.show()
- # Poll the mouse for buttonclicks
- n_click = 0
- while n_click <= n_product:
- button, position, timestamp = my_mouse.get_click(timeout=20)
- n_click = n_click+1
- #if button != None:
- #break
- slider_percent = 100.0*slider_fill_P1/slider_w
- self.experiment.set('slider_percent_%d' %n_click, slider_percent)
- __end__
- set _prepare ""
- set description "Executes Python code"
- define form_base form_base
- widget 0 0 1 1 label text="Is this product good?"
- widget 0 1 1 1 rating_scale var="response" nodes="Agree;Don't know;Disagree"
- define logger logger
- set ignore_missing "yes"
- set description "Logs experimental data"
- set auto_log "no"
- set use_quotes "yes"
- log "slider_percent_1"
- log "slider_percent_2"
- log "slider_percent_3"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement