2017-11-09 9 views
0

시각적 단기 메모리에 관한 실험을 코딩합니다. 한 번 8 칸을 그려야합니다 (4 피트/4 칸). 루프를 코딩하고 정신병자는 매 프레임마다 8 개의 사각형을 그으나 한 번의 시도에서 8 개의 사각형 만 필요합니다. 이걸 어떻게 없앨까요? 실제 시험의파이썬에서 한 번 설정을 그리는 방법은 무엇입니까?

def drawLearn(): 


    for i in range(len(squaresLeft)): 
     while True: 
     squaresLeft[i].pos = (xL(),y()) 
     validPosition = True 
     for j in range(i): 
      if overlaps(squaresLeft[i], squaresLeft[j]): 
       validPosition = False 
     if validPosition: 
      break 

for i in range(len(squaresRight)): 
    while True: 
     squaresRight[i].pos = (xR(),y()) 
     validPosition = True 
     for j in range(i): 
      if overlaps(squaresRight[i], squaresRight[j]): 
       validPosition = False 
     if validPosition: 
      break 


    Sqr1.draw() 
    Sqr2.draw() 
    Sqr3.draw() 
    Sqr4.draw() 
    Sqr5.draw() 
    Sqr6.draw() 
    Sqr7.draw() 
    Sqr8.draw()  

부 :

while True:  
if Timer.getTime() >= startLearn and Timer.getTime() <= startLearn + timeLearn. 
    drawLearn() 

if len(event.getKeys(['q'])) > 0: 
    break 

Wind.flip() 


Wind.close() 

당신의 도움을

업데이트를 주셔서 감사합니다 : 나는 320 개 시험을 테스트 할 모든 재판이 그려 8 개 사각형으로 구성되어 있습니다. 주요 문제는 프레임 당 8 개의 사각형이 그려지는 반면 RealTrial-Loop은 drawLearn 함수에서 한 번 그려지기를 원합니다.

+1

더 명확하게 질문을 업데이트 할 수 있습니까? 다음 재판 중에 무엇을 제시해야합니까? 한 번만 그리려면 루프 대신 코드를 한 번 실행하십시오. –

+0

그랬습니까? 지금은 더 이해할 수 있습니까? :) – DaveMSc

답변

0

코드가 모든 사각형을 그리고 창을 뒤집습니다. 당신은 당신이 코딩하고있는 것을 얻고 있습니다. 어쩌면 당신이 원하는 것은 한 번 그려서 getKeys을 타이밍 루프에 넣는 것입니까? 예 :

drawLearn() 
Wind.flip() 
while True:  
if Timer.getTime() >= startLearn and Timer.getTime() <= startLearn + timeLearn. 
    if len(event.getKeys(['q'])) > 0: 
     break