我是编程(和stackoverflow)的新手,所以如果在发布此问题时出错了,请原谅我。当前尝试在处理过程中构建程序,该程序基本上可以让您测量出现视觉信号后用户按下按键所花费的时间。
用户应该可以通过按SPACE键开始实验。在随机时间(2到6秒之间),字段的颜色将改变(例如,从黑色变为红色)–这就是刺激。当该字段变为红色时,程序将等待用户按下SPACE键并测量所需的时间。测量的时间存储在数组中并显示在屏幕上。通过按“ a”键,实验结束并显示结果(例如,平均时间和标准偏差)。再次按空格键,将开始一个新的实验。
到目前为止,我只设法使背景在恰好6秒钟后改变了颜色。这必须在2到6秒之间随机进行,否则刺激不会随机出现。
有人可以帮我解决这个问题吗?
码:
int savedTime;
int totalTime = 6000;
void setup() {
size(200, 200);
background(0);
savedTime = millis();
}
void draw() {
// Calculate how much time has passed
int passedTime = millis() - savedTime;
// seconds passed?
if (passedTime > totalTime) {
println("... seconds have passed!");
background(255,0,0); // Color a new background
savedTime = millis(); // Save the current time to restart the timer
}
}
问题在于变量totalTime
始终保持在6000
(毫秒),因此用户将始终观察到第一次按键和显示更改之间的相同持续时间。为了添加此行为,需要执行以下步骤:
获取随机来源。使用C语言,最简单的就是调用标准库函数rand()
。该函数返回一个伪随机数,对于这样的玩具应用程序,这绝对足够。
将随机值分配给totalTime
。这必须在function中完成setup()
。
添加游戏的其余部分。直到再次按下该键为止的用户反应时间的实际测量值仍然丢失...
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句