document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. # Generated by OpenSesame 0.27.4 (Frisky Freud)
  2. # Tue Mar 11 10:36:55 2014 (nt)
  3. # <http://www.cogsci.nl/opensesame>
  4.  
  5. set mouse_backend "legacy"
  6. set subject_parity "even"
  7. set height "768"
  8. set font_family "mono"
  9. set font_italic "no"
  10. set custom_cursor "no"
  11. set synth_backend "legacy"
  12. set title "New experiment"
  13. set coordinates "relative"
  14. set start "experiment"
  15. set sampler_backend "legacy"
  16. set transparent_variables "no"
  17. set foreground "white"
  18. set font_bold "no"
  19. set description "Default description"
  20. set background "black"
  21. set font_size "20"
  22. set keyboard_backend "legacy"
  23. set canvas_backend "legacy"
  24. set compensation "0"
  25. set subject_nr "0"
  26. set width "1024"
  27.  
  28. define sketchpad welcome
  29. set duration "keypress"
  30. set start_response_interval "no"
  31. set description "Displays stimuli"
  32. 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"
  33.  
  34. define inline_script _inline_script
  35. ___run__
  36. global n_product
  37. n_product=5
  38. __end__
  39. set _prepare ""
  40. set description "Executes Python code"
  41.  
  42. define notepad getting_started
  43. __note__
  44. Hi,
  45.  
  46. Welcome to OpenSesame 0.27 "Frisky Freud"!
  47.  
  48. If you are new to OpenSesame, you may wish to follow the tutorial,
  49. which can be found online.
  50.  
  51. There are also many example experiments, which may help you to get
  52. started with creating your own. These can be found in the "examples"
  53. folder provided with OpenSesame or, again, online,
  54.  
  55. For more information, please refer to OpenSesame documentation area:
  56. <http://osdoc.cogsci.nl/>
  57.  
  58. And feel free to ask for help on the forum:
  59. <http://forum.cogsci.nl/>
  60.  
  61. Have fun with OpenSesame!
  62.  
  63. --
  64.  
  65. Sebastiaan
  66. __end__
  67. set description "Some pointers to help you get started!"
  68.  
  69. define sequence experiment
  70. run inline_script "always"
  71. run logger "always"
  72.  
  73. define inline_script inline_script
  74. ___run__
  75. from openexp.canvas import canvas
  76. from openexp.mouse import mouse
  77. my_canvas1 = canvas(self.experiment)
  78. my_mouse = mouse(self.experiment, timeout=20)
  79. my_canvas2 = canvas(self.experiment)
  80.  
  81. #Set Number of products
  82. n_product=3
  83.  
  84. #Set attribute to be rated
  85. C1 = ("Rate these products on roughness")
  86. #C2 = ("Dry")
  87. #C3 = ("Smooth")
  88.  
  89. C1_left= ("Very much")
  90. C1_right= ("Very less")
  91.  
  92.  
  93. #Set Product names
  94.  
  95. P1= ("Pro1")
  96. P2= ("Pro2")
  97. P3= ("Pro3")
  98.  
  99. # Set slider dimensions
  100. slider_w = 700
  101. slider_h = 10
  102.  
  103. #width (1024) and height (768) are dependent on backend settings; make changes to these settings according to number of products
  104.  
  105. # Set positions of sliders
  106. slider_x_P1 = self.get("width")/2-slider_w/2
  107. slider_y_P1 = self.get("height")/4 -slider_h/2
  108. slider_x_P2 = self.get("width")/2-slider_w/2
  109. slider_y_P2 = self.get("height")/2-slider_h/2
  110.  
  111. slider_x_P3 = self.get("width")/2-slider_w/2
  112. slider_y_P3 = self.get("height") * 3/4 -slider_h/2
  113.  
  114.  
  115.  
  116. while True:
  117.  
  118. # Determine the slider fill based on the mouse position
  119. pos, time = my_mouse.get_pos()
  120. x, y = pos
  121. slider_fill_P1 = min(slider_w, max(0, x-slider_x_P1))
  122. slider_fill_P2 = min(slider_w, max(0, x-slider_x_P2))
  123. slider_fill_P3 = min(slider_w, max(0, x-slider_x_P3))
  124. my_canvas1.set_bgcolor ('white')
  125. my_canvas1.set_fgcolor('blue')
  126. my_canvas1.clear()
  127.  
  128. # Draw the active text
  129. my_canvas1.text((C1), y=slider_y_P1-100)
  130. my_canvas1.text((P1), y=slider_y_P1-20)
  131. my_canvas1.text(C1_left, x=slider_x_P1 - 100, y=slider_y_P1)
  132. my_canvas1.text(C1_right, x=slider_x_P1 + 800, y=slider_y_P1)
  133. # Draw the slider frame
  134. my_canvas1.rect(slider_x_P1, slider_y_P1, slider_w, slider_h)
  135. # Draw the slider fill
  136. my_canvas1.rect(slider_x_P1, slider_y_P1, slider_fill_P1, slider_h, fill=True)
  137. # Draw the mouse cursor
  138. my_canvas1.arrow(x+20, y+10, x, y)
  139.  
  140.  
  141. # Draw the second slider frame
  142. my_canvas1.text((P2), y=slider_y_P2-20)
  143. my_canvas1.text(C1_left, x=slider_x_P2 - 100, y=slider_y_P2)
  144. my_canvas1.text(C1_right, x=slider_x_P2 + 800, y=slider_y_P2)
  145. my_canvas1.rect(slider_x_P2, slider_y_P2, slider_w, slider_h)
  146. # Draw the slider fill
  147. my_canvas1.rect(slider_x_P2, slider_y_P2, slider_fill_P2, slider_h, fill=True)
  148. # Draw the third slider frame
  149. my_canvas1.text((P3), y=slider_y_P3-20)
  150. my_canvas1.text(C1_left, x=slider_x_P3 - 100, y=slider_y_P3)
  151. my_canvas1.text(C1_right, x=slider_x_P3 + 800, y=slider_y_P3)
  152. my_canvas1.rect(slider_x_P3, slider_y_P3, slider_w, slider_h)
  153. # Draw the slider fill
  154. my_canvas1.rect(slider_x_P3, slider_y_P3, slider_fill_P3, slider_h, fill=True)
  155. my_canvas1.show()
  156. # Poll the mouse for buttonclicks
  157. n_click = 0
  158. while n_click <= n_product:
  159. button, position, timestamp = my_mouse.get_click(timeout=20)
  160. n_click = n_click+1
  161. #if button != None:
  162. #break
  163. slider_percent = 100.0*slider_fill_P1/slider_w
  164. self.experiment.set('slider_percent_%d' %n_click, slider_percent)
  165. __end__
  166. set _prepare ""
  167. set description "Executes Python code"
  168.  
  169. define form_base form_base
  170. widget 0 0 1 1 label text="Is this product good?"
  171. widget 0 1 1 1 rating_scale var="response" nodes="Agree;Don't know;Disagree"
  172.  
  173.  
  174. define logger logger
  175. set ignore_missing "yes"
  176. set description "Logs experimental data"
  177. set auto_log "no"
  178. set use_quotes "yes"
  179. log "slider_percent_1"
  180. log "slider_percent_2"
  181. log "slider_percent_3"
');