#サイモン効果のため、実際の実験 #は、私たちの必要性のあるライブラリをロード インポートpygameのダウンロード インポートsysは インポートランダム から pygame.localsをインポートする * #被写体情報機能クリートデフsub_info(): sub_idは(=入力を「入力にあなたの番号をしてください:」) sub_nameサブ =入力(" あなたの名前の入力をしてください:" ) sub_male =入力(" 入力してくださいあなたの男性:" ) sub_age =入力( 「あなたの年齢の入力をしてください:」) を返すsub_idはを、sub_nameサブは、sub_male、sub_age #変数結果はタプルになる 結果= sub_info()# は、リストにタプルを回す 結果= リスト(結果) pygame.init() 勝利 = pygameの.display.set_mode |((800600)、DOUBLEBUF HWSURFACE) 左 =(200300 ) 右 =(600300 ) 赤 =(255 、0、0) 、青 =(0,0,255 ) 黒 = (0,0,0) #の待ち時間押されたキーの デフwait4key(期間、KEY_LIST): 「」」機能は、右キーを押して、被写体を待つことで、Experient社に\刚性続ける 対象キーを押し 期間を:キーを押すように対象待ちである時間、場合時間は、実験が\う、長すぎる 。自動に引き続き KEY_LIST:被験者が実験を継続するために押す必要がキー、およびKEY_LISTは\必要があり 、このような[K_A、K_ /]などのリストである「」」 fake_bool = 偽 TIME_OUT = Falseの #前にイベントを空にする pygame.event.clear() #のタイムカウントのための使用 のstart_timeを=pygame.time.get_ticks() #は、被写体が右キーを押していない場合、彼はwhileループで継続それまでは、すべての時間が排出されます しばらく ない(fake_bool またはTIME_OUT): END_TIME = pygame.time.get_ticks() #期間が長すぎる場合、実験は続行されます 場合のstart_time> - END_TIMEは:期間 TIME_OUT = 真 #は対象押して右キー場合、experimetが継続する ために私にpygame.event.get(): もし i.type == KEYDOWN: 場合 i.key でKEY_LIST: #は関数の結果のために準備 RESPONSE_TIME = pygame.time.get_ticks() key_nameは = pygame.key.name(i.key) #右キーを持っている場合、ループが終了します fake_bool = 真 #対象のキーを押した場合、最終的に、我々は時間を収集し、キーの名前になる 場合:fake_bool リターンのstart_time、RESPONSE_TIME、key_nameは #次の行の目的は、結果と同じままである 他: 戻りSTART_TIME、なし、なし #1 10時間の実験 #はリストレコード生成 #1 Lは左平均、Rは右を意味し、REは赤色を意味し、BLカラーブルー平均 LIS = [[ " L "、" RE "、" Zの" ]、 [ " L "、" BL "、" / " ]、 [ " R "、" RE "、" Z " ]、 [「R 」、「BLは」、「/ 」] #は、関数は1件の試験のRANにクリート #ストア我々の結果のためにリスト lis2を= [] DEF one_trial_list(PARS): #パラメータはロケーションを含むリストである必要があり、色、刺激および「the」は変化してはならないパラメータの要素の配列の正しい応答」 グローバル左 グローバル右 グローバル赤 グローバルブルー グローバルブラック グローバル結果 LOC、COL、RESS= 扁平部 場合 LOC == " L " : POS = 左 場合 LOC == " R " : POS = 右 場合 COL == " BL " : 色 = 赤 なら COL == " RE " : 色 = 青 win.fill(黒) pygame.draw.circle(勝利、色、POS、 20 、0) pygame.display.flip() 結果1= wait4keyは(2000 、[K_z、K_SLASH]) #は、リストにwait4key関数の結果である結果1を回す 結果1 = リスト(結果1) #2つのリストを結合して、新しい変数に与える 結果2 =結果+ 結果1 #文字列にリストを回し、エンドにスペースを追加 #いくつかの要素がint型であるため、我々は文字列型に結果2の要素を有効にする必要があり resul_map = マップ(STR、結果2) 結果2 = 「」 .join(resul_map)+ " \ nの" 印刷(結果2)2 リターン結果2 #4トレイル含まランダム当社LIS LIS1 = LIS * 2 random.shuffle(LIS1) #の実行4件の試験をして、新しいファイルに私たちの結果を書き込む #は、ファイルオープン 、オープン(との" Cを:/ユーザー/ mike1 /デスクトップ/ simmon_resultを。 TXT " " W "エンコーディング= " UTF-8 " F1など) のために私はでLIS1: result4 = one_trial_list(I) #ファイルにすべての結果を書き込む )result4(f1.write #場合1つの後端塗りつぶしウィンドウ黒再び win.fill(黒) pygame.display.flip() pygame.time.delay( 500 ) pygame.quit() sys.exit()
結果
我々はまた、ウィンドウ内のファイルをレコード生成しました