码迷,mamicode.com
首页 > 其他好文 > 详细

pygame 运行心理学问卷

时间:2019-12-22 10:27:00      阅读:62      评论:0      收藏:0      [点我收藏+]

标签:win   val   image   ==   span   mode   wait   print   优势   

import pygame
import sys
from pygame.locals import *


# wait for keys to putdown
def waitForKeys(keysAllowed):
    key = False # initialize the key
    pygame.event.clear() # clear the event 
    while not key:     
        for i in pygame.event.get(): # for every event in the event list
            if i.type == pygame.KEYDOWN or i.type == pygame.KEYUP: # if the event type is keydown
                if i.key in keysAllowed : # if key is the special key
                # 如果是 if i.key ==  K_0 or K_1 or K_2 ,那么按任意一个键都将退出,因为 or 的逻辑成了(if i.key ==  K_0) or K_1 这种形式  
                    print(i.key, pygame.key.name(i.key))
                    key = True # break the while loop 
                   
    return 0 # reture the value
    


# draw a two sentences
def displayOneQuestion(myString):
    pygame.init() # initialize pygame
    mywin = pygame.display.set_mode((800,600), DOUBLEBUF|HWSURFACE) # create the window
    myFont = pygame.font.SysFont("华文宋体", 25,False, False) # create the font
    myStringSurface = myFont.render(myString, True,  (255,255,255), False) # create the string
    myString1 = "1 有点  2 中等 3 很多"
    myStringSurface1 = myFont.render(myString1, True, (255,255,255), None)
    mywin.blit(myStringSurface, (1,1), None, 0) # draw the font surface to another surface
    mywin.blit(myStringSurface1, (1,100), None, 0) # draw another surface
    pygame.display.flip() # flip the window
    return 0 # return 0




myString = ["你好啊","我不好","吃了吗","枯井柘城","没有呢","那好吧"]
keysAllowed = [pygame.K_1, pygame.K_2, pygame.K_3, pygame.K_4, pygame.K_5]
for element in myString:
    displayOneQuestion(element)
    waitForKeys(keysAllowed)

# 注意点1 : 如果 pygame.event.clear() # clear the event 这一句放在 while :的开头,那么程序会非常慢,而且有的还会跳过,不知为什么。
# 注意点2:  如果是 if i.key ==  K_0 or K_1 or K_2 ,那么按任意一个键都将退出,因为 or 的逻辑成了(if i.key ==  K_0) or K_1 这种形式 ,而且if i.key == (K_0 or K_1)也是不行的。

 

 

 

这是一张问卷的问题的界面(当然问题是我瞎编的,并且也不是很美观,后期可以调整)

需要被试按键才能看下一题,按的键包括1,2,3,4,5

技术图片

 

 

这是第二个问题的界面

 技术图片

 

 

这是完成5道题后的结果,我打印出了按键的ASC值,以及键的名称,可以看出名称为键盘上的数字按键。技术图片

 

 

 

总结:界面上的问题,问题的位置,答案的内容,答案的位置都可以设置,由于现在没有拿到问卷的内容,所以问卷内容是瞎写的。用pygame的主要优势是跳过了纸笔测验,而且可以将被试的反应(按键)存入数据库。

pygame 运行心理学问卷

标签:win   val   image   ==   span   mode   wait   print   优势   

原文地址:https://www.cnblogs.com/zijidefengge/p/12078901.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!