from psychopy import visual, core, event,gui,clock
import os
win = visual.Window(size = (1024,768), color = (1,1,1), fullscr = False )
def decision():
###隐匿鼠标
win.mouseVisible=False
####设置相关图形
G=60;w=75;g=45;x=80;p=1/4
line_y=0.8*(1/2-p)
rect1=visual.Rect(win,pos=(-0.4,0),width=0.4,height=0.8,lineColor='black',lineWidth=10,fillColor='DarkTurquoise',opacity = 0.5)
rect2=visual.Rect(win,pos=(0.4,0),width=0.4,height=0.8,lineColor='black',lineWidth=10,fillColor='DarkTurquoise',opacity = 0.5)
line1=visual.Line(win,start=(-0.6,line_y),end=(-0.2,line_y),lineColor='black',lineWidth=10,fillColor='DarkTurquoise',opacity = 0.5)
line2=visual.Line(win,start=(0.2,line_y),end=(0.6,line_y),lineColor='black',lineWidth=10,fillColor='DarkTurquoise',opacity = 0.5)
word1=visual.TextStim(win, text =u'',height = 0.05,pos = (-0.4,(0.4+line_y)/2),italic = False,color = 'black',font = "Songti SC",opacity = 0.5)
word2=visual.TextStim(win, text =u'',height = 0.05,pos = (-0.4,(line_y-0.4)/2),italic = False,color = 'black',font = "Songti SC",opacity = 0.5)
word3=visual.TextStim(win, text =u'',height = 0.05,pos = (0.4,(0.4+line_y)/2),italic = False,color = 'black',font = "Songti SC",opacity = 0.5)
word4=visual.TextStim(win, text =u'',height = 0.05,pos = (0.4,(line_y-0.4)/2),italic = False,color = 'black',font = "Songti SC",opacity = 0.5)
word1.text=str(int(p*100))+'%的机会获得'+str(G)
word2.text=str(int((1-p)*100))+'%的机会获得'+str(w)
word3.text=str(int(p*100))+'%的机会获得'+str(g)
word4.text=str(int((1-p)*100))+'%的机会获得'+str(x)
rect1.draw();rect2.draw();line1.draw();line2.draw()
word1.draw();word2.draw();word3.draw();word4.draw()
sure_rect=visual.Rect(win,pos=(0,-0.6),width=0.25,height=0.12,lineColor='black',lineWidth=5,fillColor='Coral',opacity = 0.5)
sure_text=visual.TextStim(win,text=u'确定',height=0.05,pos=(0,-0.6),bold=True,italic=False,color = 'black',font= "Songti SC",opacity = 0.5)
sure_rect.draw();sure_text.draw()
win.flip()
core.wait(2)
###2秒后鼠标才能进行选择
myMouse = event.Mouse()
check=0
F=True
while F:
#### 鼠标点击 改变其透明度
if (myMouse.isPressedIn(rect1)):check=1;
if (myMouse.isPressedIn(rect2)):check=2;
if (check==1):
rect1.opacity = 1;line1.opactiy = 1
word1.opactiy = 1;word2.opactiy = 1
rect2.opacity = 0.5;line2.opactiy = 0.5
word3.opactiy = 0.5;word4.opactiy = 0.5
elif (check==2):
rect1.opacity = 0.5;line1.opactiy = 0.5
word1.opactiy = 0.5;word2.opactiy = 0.5
rect2.opacity = 1;line2.opactiy = 1
word3.opactiy = 1;word4.opactiy = 1
else:
rect1.opacity = 0.5;line1.opactiy = 0.5
word1.opactiy = 0.5;word2.opactiy = 0.5
rect2.opacity = 0.5;line2.opactiy = 0.5
word3.opactiy = 0.5;word4.opactiy = 0.5
####点击选项之后才能对‘确定’按钮进行点击
if (check>0):
sure_rect.opacity = 1
sure_text.opacity = 1
else:
sure_rect.opacity = 0.5
sure_text.opacity = 0.5
rect1.draw();rect2.draw();line1.draw();line2.draw()
word1.draw();word2.draw();word3.draw();word4.draw()
sure_rect.draw();sure_text.draw()
win.flip()
if (check>0) and (myMouse.isPressedIn(sure_rect)):F=False
return (p,G,w,g,x,check)
dd=decision()