易码技术论坛

 找回密码
 加入易码
搜索
查看: 708208|回复: 17

[游戏] [游戏&工具]反应速度测试~Lava(3月5号,更新了下)

[复制链接]
发表于 2007-3-1 23:52:20 | 显示全部楼层
支持~!加进WQX森林站下载系统~!
发表于 2007-3-1 23:54:06 | 显示全部楼层
支持一个
发表于 2007-3-2 06:26:20 | 显示全部楼层
顶~~~~~~~~~~~~~~~~~~~~
发表于 2007-3-2 08:14:16 | 显示全部楼层
虽然对游戏没有太大的兴趣。。。。但是还是要支持一下^_^
发表于 2007-3-2 14:14:18 | 显示全部楼层
支持LZ,支持技术文章。
发表于 2007-3-2 15:45:38 | 显示全部楼层
不错,支持先
发表于 2007-3-2 16:39:04 | 显示全部楼层
又是键盘毁灭器。。。

抱歉,不是有意诋毁,而是我键盘坏了
有点郁闷,原谅原谅
 楼主| 发表于 2007-3-2 22:21:14 | 显示全部楼层
引用第7楼705992007-03-02 16:39发表的“”:
又是键盘毁灭器。。。


考虑过这个问题~按任意的键都可以用的~因为我也怕键盘坏^^
发表于 2007-3-3 00:44:34 | 显示全部楼层
呵呵
发表于 2007-3-3 21:05:31 | 显示全部楼层
以前想过用汇编来实现,利用系统中秒表的程序来记时,一直没有付出于实践.
LZ的程序不知是否精确
 楼主| 发表于 2007-3-5 21:19:24 | 显示全部楼层
引用第10楼atoss2007-03-03 21:05发表的“”:
以前想过用汇编来实现,利用系统中秒表的程序来记时,一直没有付出于实践.
LZ的程序不知是否精确
应该很精确吧
 楼主| 发表于 2007-3-5 21:20:09 | 显示全部楼层
更新了
发表于 2007-3-6 11:12:40 | 显示全部楼层
无法使用
运行后死机
我的是TC808
发表于 2007-3-10 10:09:22 | 显示全部楼层
支持一个
发表于 2007-3-26 20:54:48 | 显示全部楼层
进入后显示读档失败,正在创建。。。然后死机,再次进入就完全死机了
发表于 2007-3-27 11:09:51 | 显示全部楼层
hao
 楼主| 发表于 2007-3-27 23:30:51 | 显示全部楼层
回13楼的
我也不知道是什么情况
回15楼的
我感觉你的情况像是没电
 楼主| 发表于 2007-3-1 23:37:51 | 显示全部楼层 |阅读模式
能比较准确的测试出你的反应速度的一个小东西。
测试开始后,1-5秒内屏幕会变黑,此时以最快速度按下任意一键即可.一共测5次,最后可以求出平均反应值、方差,并作出一个简略的波动曲线。
玩具~

更新了一下,加入了记录,能自动把成绩保存下来了(前10个),可以和别人比一比。
修正了波动曲线上下颠倒的BUG.
在排行榜中按输入,可以进一步查看每次的成绩,波动曲线等.
测试过程按任意键都可以完成,以免总按一个把键盘按坏了.
就这么多了,其他变化自己看吧~~

截图

截图


/////////////////////////////////////////////
一小段计算时间间隔的技术文章~(任意长度的时间,精确到1/256s)
wqx中的秒数并不是在Getms()取得的毫秒变成0时+1的,秒数变时Getms()是0~255的任意一个数;
这就造成了麻烦,以至<1秒有时测出的时间间隔是负值,>1秒造成测出的时间少1秒,TC800中系统工具里的秒表不准大概就是这个原因
进位的值每次开机都会变,精确的计算任意的时间间隔就得先把进位时的值计算出来
可以用这种方法可以去掉秒表的BUG,做个比较精确的秒表程序^^
如果有更好的方法也不要抨击我~~
下面是段精确计算两次按键间隔的代码
long ta,tb,tc,d,f,g;
struct TIME  //GetTime()要用到的结构
{int year;
char month;
char day;
char hour;
char minute;
char second;
char week;
};
struct TIME timb;
struct TIME tima;
long ms(int x)//根据tc值把Getms()取得的毫秒数换算成以0进位的值
{int y;
if (x>=tc) y=x-tc;
if (x<tc) y=x+256-tc;//减TC其实不用写~因为算时间差的时候可以约掉
return y;
}
void main()
{
printf("计算tc中。。");
l3:GetTime(tima);
ta=Getms();
GetTime(timb);
if (timb.second>tima.second) {tc=ta;goto l2;}//这段是计算出毫秒的进位值并存在变量tc,此过程会花费最多1秒
goto l3;//之所以用这么多GOTO是因为我感觉WQX上这么写方便~~
l2:
printf("按任意键取开始时间...");
getchar();
GetTime(tima);
ta=Getms();//取开始的系统时间和"毫秒"数
printf("按任意键取结束时间...");
getchar();
GetTime(timb);//取结束时的系统时间和"毫秒"数
tb=Getms();
ta=ms(ta);//换算成以0进位的值
tb=ms(tb);//换算成以0进位的值
d=(timb.hour-tima.hour)*60*60*1000+(timb.minute-tima.minute)*60000+(timb.second-tima.second)*1000+((tb)*10000/256+5)/10 -((ta)*10000/256+5)/10;//计算总毫秒数(day\month忽略了)
f=d/1000;//取秒位
g=d-f*1000;//取毫秒位
if (g<10) printf("时间间隔: %d.00%d秒\n",f,g);
else if(g<100) printf("时间间隔: %d.0%d秒\n",f,g);
else printf("时间间隔: %d.%d秒\n",f,g);
getchar();
}

反应测试.rar

3 KB, 下载次数: 113

下载

您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-4-25 14:06 , Processed in 0.014239 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表