zoukankan      html  css  js  c++  java
  • simmon effect : build the funcion of trail list

    #the real experiment for simon effect
    #load the library which is our need
    import pygame
    import sys
    import random
    from pygame.locals import *
    
    pygame.init()
    win = pygame.display.set_mode((800,600),DOUBLEBUF|HWSURFACE)
    left = (200,300)
    right = (600,300)
    red  =(255,0,0)
    blue = (0,0,255)
    black = (0,0,0)
    
    #wait for the pressed key
    
    def wait4key(duration,key_list):
        """the function is to wait for subject to press the right key , and the experient will continue untill the
    subject press the key
    duration : the time which is the subject wait to press the key ,if the time is too long ,the experiment will
    continue automaticly.
    key_list: the key which the subject need to press to continue the experiment, and the key_list must 
    be a list such as [K_A,K_/]"""
        
        fake_bool =False
        time_out = False
    
        #empty the event before 
        pygame.event.clear()
        
        #use for count the time
        start_time = pygame.time.get_ticks()
        
        #if the subject does not press the right key, he will in the while loop all the time untill the duration is exhausted
        while  not (fake_bool or time_out):
            end_time = pygame.time.get_ticks()
            #if the duration is too long , the experiment will continue
            if end_time - start_time > duration:
                time_out = True
            #if subject press the right key ,the experimet will continue
            for i in pygame.event.get():
                if i.type ==KEYDOWN:
                    if i.key in key_list:
                        #prepare for the result of the function
                        response_time = pygame.time.get_ticks()
                        key_name = pygame.key.name(i.key)
                        #if has the right key ,the loop will quit
                        fake_bool = True
        #in the end, if subject press the key ,we will collect the time , and the name of the key
        if fake_bool:
            return start_time, response_time, key_name
        #the purpose of the next line is stay the same with the result
        else:
            return start_time, None, None
            
    #experiment for 10 times
    
    #creat the list
    #L mean left ,R mean right , RE mean the color red, BL mean the color blue
    lis = [ ["L","RE","Z"],
            ["L","BL","/"],
            ["R","RE","Z"],
            ["R","BL","/"]]
    
    #creat a function to ran one trial
    def one_trial_list(pars):
    #the parameters must be a list which contains the location, color ,right response of the stimuli and the the sequence of the element of parameters should not change"""
        global left
        global right
        global red
        global blue
        global black
        loc,col,ress=pars
        if loc =="L":
            pos = left
        if loc =="R":
            pos = right
        if col =="BL":
            color = red
        if col == "RE":
            color = blue
    
        win.fill(black)
        pygame.draw.circle(win,color,pos,20,0)
        pygame.display.flip()
        result = wait4key(2000,[K_z,K_SLASH])
        print(result)
    
    
    #random our lis which contains four trails
    lis1 = lis*2
    random.shuffle(lis1)
    
    #run four trials
    for i in lis1:
        one_trial_list(i)
        
        #when one trail end ,fill the window black again
        win.fill(black)
        pygame.display.flip()
        pygame.time.delay(500)
    pygame.quit()
    sys.exit()
        
     

    another function to improve our experiment

     the result

  • 相关阅读:
    [洛谷P4248][AHOI2013]差异
    [洛谷P4070][SDOI2016]生成魔咒
    [洛谷P3979]遥远的国度
    [CF551E]GukiZ and GukiZiana
    [洛谷P4721]【模板】分治 FFT_求逆
    [洛谷P4721]【模板】分治 FFT
    一键智能抠图-原理与实现
    国防科技大学单张RGB-D图像预测物体对称性
    在OpenCV中使用色彩校正
    Deformable DETR DETR 存在收敛速度慢等缺陷。为了解决这些问题,本文可变形 DETR,其注意力模块仅关注于参考点附近的一小部分采样点作为注意力模块中的 key 元素。可变形 DETR 可以在比 DETR 少 9/10 的训练轮数下,达到更好的性能(尤其是在小目标上)。在 COCO 基准上的大量实验表明了该方法的有效性。
  • 原文地址:https://www.cnblogs.com/zijidefengge/p/11581122.html
Copyright © 2011-2022 走看看