【脑与认知科学】【n-back游戏】

请参考课堂内容,设计一种测试工作记忆的实验方法,并选择三位同学作为被试测试工作记忆。请画出实验流程图,叙述实验测试目标,并分析实验结果。

举例:一般我们选择n_back来测试对数字或字母的记忆,选择色块实验来测试对颜色的记忆。实验中的自变量与因变量的变化,比如数字/字母/色块的数量n就是自变量。成功率就是因变量,而屏幕显示的时间可以在一定范围内随机。并将实验结果进行分析,譬如因变量随自变量的变化,呈现什么样的趋势。屏幕显示时间和因变量有什么关系等。

 

我们选择复刻n-back游戏来测试工作记忆,游戏的流程是这样的:玩家会看到一个灰色方块组成的九宫格,其中一个绿色方块会在九宫格中闪烁,玩家需要把每次绿色方块闪烁的位置记住,判断前n次绿色方块出现的位置,例如当n=1时,玩家需要判断上一次绿色方块在九宫格中出现的位置;当n=2时,玩家需要判断上两次绿色方块出现的位置,依次类推……

实验流程图如图1所示,我们首先给出提示文字,告知测试者实验测试的流程与步骤,然后给出每个方块的位置,这样后续判断绿色方块的位置时可以通过按下键盘上的数字键选择方块的位置,然后开始闪烁方块,要求测试者判断前n次绿色方块出现的位置,最后给出判断结果,其中n的值为3、4、5中的随机值。

图1

我们全程使用python的psychopy库完成实验的设计。

import random
import pandas
from psychopy import visual, event, core


# 展示提示文字,并根据参数实现不同的文字展示
def showCue(text, x=0, y=0, wait=True, title=False, flip=True):
    if title:
        cue = visual.TextStim(win, text=text, pos=(x, y), color='black', height=50, bold=True)
    else:
        cue = visual.TextStim(win, text=text, pos=(x, y), color='black', height=20, bold=True)
    cue.draw()
    if flip:
        win.flip()
    if wait:
        event.waitKeys()


# 构建绿色方块的随机位置
places = []  # 创建空列表
while len(places) < 30:
    num = random.randint(0, 8)  # 生成一个0到8的随机整数
    if not places or num != places[-1]:  # 如果列表为空或者新生成的数与前一个数不相同
        places.append(num)  # 将新生成的数添加到列表中
size = 145   # 方块大小
positions = [
    (-150, 150), (0, 150), (150, 150),
    (-150, 0), (0, 0), (150, 0),
    (-150, -150), (0, -150), (150, -150)
]
win = visual.Window(size=(1000, 618), color='white', units='pix')
showCue('工作记忆测试实验', wait=False, title=True, y=150, flip=False)
showCue('判断前n次绿色方块出现的位置\n按下对应位置的数字,共测试5次\n按任意键查看方块位置对应的数字')
for i in range(9):
    cube = visual.Rect(win, width=size, height=size, pos=positions[i], fillColor='#afafaf')
    cube.draw()
    number = visual.TextStim(win, text=str(i + 1), pos=positions[i], height=size / 2)
    number.draw()
showCue('数字代表方块的位置,按任意键开始测试', y=250)
data = {'结果': [], '反应时间': [], 'n': []}
for index in range(30):
    for i in range(9):
        if i == places[index]:
            color = 'green'
        else:
            color = '#afafaf'
        cube = visual.Rect(win, width=size, height=size, pos=positions[i], fillColor=color)
        cube.draw()
    core.wait(1)  # 展示一秒
    if (index + 1) % 6 == 0:
        n = random.randint(3, 5)
        showCue('前 ' + str(n) + ' 次绿色方块出现的位置是', y=250, wait=False)
        Time = core.Clock()
        key = event.waitKeys(keyList=[str(i) for i in range(10)])
        time = Time.getTime()
        if key[0] == str(places[index - n]+1):
            result = '正确'
        else:
            result = '错误'
        showCue(result + '!反应时间为' + str(time) + '秒!\n' + '按任意键继续')
        data['结果'].append(result)
        data['反应时间'].append(time)
        data['n'].append(n)
    win.flip()
showCue('实验结束,按任意键退出')
win.close()
# 将数据写入excel
excel = 'personDData.xlsx'
df = pandas.DataFrame(data)
try:
    DF = pandas.read_excel(excel)  # 该execl文件已经存在则追加数据
    DF = pandas.concat([DF, df], ignore_index=True)
    DF.to_excel(excel, index=False)
except FileNotFoundError:  # 没有该excel文件将创建一个新的
    df.to_excel(excel, index=False)

我们首先写一个函数,用于展示提示文字,被试者可以按任意键结束提示,如图2所示,与之前的实验不同的是,我们这次的文字展示函数增加了许多参数,用来实现在不同位置展示文字,并以不同的样式展示文字,而且可以决定是否刷新页面或等待按键结束。

图2

用随机数来构建绿色方块要出现的位置序列,并保证相邻的出现位置不重复,规定方块的大小并设置好九宫格的位置,如图3所示。

图3

创建展示窗口,并调用先前写好的文字展示函数显示实验标题和实验操作提示,并展示九宫格方块位置对应的数字,如图4所示。

图4

然后开始让九宫格中的绿色方块闪烁起来,每次停留一秒,如图5所示。

图5

随机取个n,让玩家回忆前n次绿色方块出现的位置,给出结果反馈,并将判断结果以及玩家反应时间记录下来,如图6所示。

图6

测试结束给出结束提示,按任意键可以退出,然后关闭窗口,将记录的数据写入excel表格,如图7所示。

图7

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/161309.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python字典六种类型概述

1. 引言 看到这个标题&#xff0c;你可能会觉得奇怪&#xff0c;事实上在Python的标准库中共有6种字典类型&#xff01;在某些情形下&#xff0c;你可能会觉得标准的Python字典dict&#xff0c;并不能完全符合你的需求。在本文中&#xff0c;我们将讨论Python中其他5个鲜为人知…

【火炬之光-魔灵装备】

文章目录 装备天赋追忆石板技能魂烛刷图策略 装备 头部胸甲手套鞋子武器盾牌项链戒指腰带神格备注盾牌其余的装备要么是召唤物生命&#xff0c;要么是技能等级&#xff0c;鞋子的闪电技能等级加2不是核心&#xff0c;腰带的话主要是要冷却有冷却暗影的技能是不会断的&#xff…

快速提高编码生产力——中国用户如何使用Jetbrains内置的AI助手

文章目录 安装AI助手插件怎么在国内使用改Jetbrains账户Country特殊工具安排上系统设置代理IDE设置代理 使用案例 安装AI助手插件 此功能依赖于AI Assistant插件&#xff0c;您需要安装并启用该插件。 按打开 IDE 设置&#xff0c;然后选择插件。CtrlAltS打开Marketplace选项…

pyqt designer的版本问题

之前我的电脑Windows11 python3.12上安装好了pyqt6后&#xff0c;安装不了pyqt6-tools&#xff0c;导致不能使用designer设计师服务。经过摸索&#xff0c;然来只需要安装qt-tools就够了。qt-tools在plugin包里。比如文章顶部的资源包&#xff0c;下载下来直接使用pip安装该whl…

Linux inotify 文件监控

Linux 内核 2.6.13 以后&#xff0c;引入了 inotify 文件系统监控功能&#xff0c;通过 inotify 可以对敏感目录设置事件监听。这样的功能被也被包装成了一个文件监控神器 inotify-tools。 使用 inotify 进行文件监控的过程&#xff1a; 创建 inotify 实例&#xff0c;获取 i…

小命令,大世界

Linux是一个大系统&#xff0c;功能丰富&#xff0c;好比是一台巨型机器&#xff0c;而命令&#xff0c;就是这台机器的操作台。要想控制好这台机器&#xff0c;用好这台机器&#xff0c;就得会看仪表&#xff0c;会操作各种按钮。《Linux常用命令自学手册》就是介绍如何操作这…

Linux上编译和安装SOFA23.06

前言 你可以直接使用编译安装好的SOFA版本Installing from all-included binaries (v23.06.00)&#xff1a; 如果你想自己编译&#xff0c;可以看我下面写的内容&#xff0c;不过绝大多数是从官网来的&#xff0c;如果和官网有出入&#xff0c;建议还是以官网为准。 在Linux下…

csapp深入理解计算机系统 bomb lab(1)phase_1

实验目的&#xff1a;进一步了解机器级代码&#xff0c;提高汇编语言、调试器和逆向工程等方面原理与技能的掌握。 实验环境&#xff1a;C、linux 实验获取&#xff1a;进入csapp官网&#xff0c;点击linux/x86-64 binary bomb下载实验压缩包。 实验说明&#xff1a;一共有6…

下一代搜索引擎会什么?

现在是北京时间2023年11月18日。聊一聊搜索。 说到搜索&#xff0c;大家首先想到的肯定是谷歌&#xff0c;百度。我把这些定义成上一个时代的搜索引擎。ChatGPT已经火热了有一年的时间了&#xff0c;大家都认为Ai搜索是下一代的搜索。但是AI搜索&#xff0c;需要的是很大算力&a…

Wireshark TS | 应用传输缓慢问题

问题背景 沿用之前文章的开头说明&#xff0c;应用传输慢是一种比较常见的问题&#xff0c;慢在哪&#xff0c;为什么慢&#xff0c;有时候光从网络数据包分析方面很难回答的一清二楚&#xff0c;毕竟不同的技术方向专业性太强&#xff0c;全栈大佬只能仰望&#xff0c;而我们…

前端JS 使用input完成文件上传操作,并对文件进行类型转换

使用input实现文件上传 // 定义一个用于文件上传的按钮<input type"file" name"upload1" />// accept属性用于定义允许上传的文件类型&#xff0c; onchange用于绑定文件上传之后的相应函数<input type"file" name"upload2"…

【0基础学Java第十课】-- 认识String类

10. 认识String类 10.1 String类的重要性10.2 常用方法10.2.1 字符串构造10.2.2 String对象的比较10.2.3 字符串查找10.2.4 转化10.2.5 字符串替换10.2.6 字符串拆分10.2.7 字符串截取10.2.8 字符串的不可变性10.2.9 字符串修改 10.3 StringBuilder和StringBuffer10.3.1 String…

cadence virtuoso寄生参数提取问题

问题描述&#xff1a; 寄生参数提取的最后一步出现问题 calibre View generation encountered a fatal Error.Please consult the logfile for messages. 解决办法&#xff1a; sudo gedit /etc/profile&#xff08;如果失败就切换到超级用户root&#xff0c;使用su root命令…

装修干货|卧室常见3个软装搭配问题。福州中宅装饰,福州装修

引言 作为一名软装设计师&#xff0c;我对卧室的家具及软装布置颇有心得&#xff0c;现在就给你们带来卧室装修设计一些小技巧&#xff1a; 1. 床&#xff1b;衣柜&#xff1b;床头柜的摆放 床的摆放位置非常重要&#xff0c;一般要放在离窗户稍远的地方&#xff0c;避免直接…

CV计算机视觉每日开源代码Paper with code速览-2023.11.14

点击CV计算机视觉&#xff0c;关注更多CV干货 论文已打包&#xff0c;点击进入—>下载界面 点击加入—>CV计算机视觉交流群 1.【基础网络架构&#xff1a;Transformer】Aggregate, Decompose, and Fine-Tune: A Simple Yet Effective Factor-Tuning Method for Vision…

场景交互与场景漫游-路径漫游(7)

路径漫游 按照指定的路径进行漫游对一个演示是非常重要的。在osgViewer中&#xff0c;当第一次按下小写字母“z”时&#xff0c;开始记录动画路径;待动画录制完毕&#xff0c;按下大写字母“Z”&#xff0c;保存动画路径文件;使用osgViewer读取该动画路径文件时&#xff0c;会回…

招聘小程序源码 人才招聘网源码

招聘小程序源码 人才招聘网源码 求职招聘小程序源码系统是一种基于微信小程序的招聘平台&#xff0c;它可以帮助企业和求职者快速、方便地进行招聘和求职操作。 该系统通常包括以下功能模块&#xff1a; 用户注册和登录&#xff1a;用户可以通过微信小程序注册和登录&#…

世微 降压恒流驱动IC 景观亮化洗墙灯舞台灯汽车灯LED照明 AP5199S

1. 特性 支持高辉调光&#xff0c;调光比 平均电流工作模式 高效率&#xff1a;最高可达 95% 输出电流可调范围 60mA~12A 最大工作频率 1MHz 恒流精度≤3% 支持 PWM 封装&#xff1a;SOP8 2. 应用领域 景观亮化洗墙灯 舞台调光效果灯 汽车照明 3. 说明 AP5199S…

安全框架springSecurity+Jwt+Vue-1(vue环境搭建、动态路由、动态标签页)

一、安装vue环境&#xff0c;并新建Vue项目 ①&#xff1a;安装node.js 官网(https://nodejs.org/zh-cn/) 2.安装完成之后检查下版本信息&#xff1a; ②&#xff1a;创建vue项目 1.接下来&#xff0c;我们安装vue的环境 # 安装淘宝npm npm install -g cnpm --registryhttps:/…