请先看 速算扑克牌,开发数学潜能【开发计划】 速算扑克牌 第二版
目前只在Chrome浏览器效果较好,其余还未测试,后期将考虑浏览器兼容问题
算法:
把牌的顺序洗乱,然后拿在手里一张一张地出,出第一张时,嘴里念出牌上的数字;
出第二张时,直接说出第一张牌与第二张牌相加的和;
出第三张牌时,说出跟前一个得数相加的和……
注意:在连加的过程中既不要叨念也不要默想“几加几等与几”而要直接说出两数的和。
例如:第一张牌是3,第二张牌是5,要直接说“8”而不要说也不要默想“3+5=8”。
操作提示:
1.选择要循环的次数后,点击开始按钮。
2.点击GO开始测试,点击数字出现下一个。
循环次数
1.打乱数组
function randomsort(a, b) {
return Math.random()>.5 ? -1 : 1;//用Math.random()函数生成0~1之间的随机数与0.5比较,返回-1或1
}
var arr = [1, 2, 3, 4, 5];
arr.sort(randomsort);
2.计时
...
var BeginTime=0;//开始测试时间
...
//根据需求产生新的随机数组
function getNewArr(){
...
BeginTime=new Date();
...
}
//输出下一个数
function nextStep(){
if(arr_index<NowArr.length){
...
}else{
...
var NowTime = new Date();
var ms=(NowTime.getTime()-BeginTime.getTime())/1000;
var str="本次耗时"+ms+"秒";
confirm(str);
}
}
相关资料 JS计时脚本
1.添加选择运算的方法,在测试结束后根据运算方法,循环次数和时间给出相应的水平判断。
2.关于数组的选择,要找更好的方法替代
var theTimes=document.getElementById("selTimes").value;
if(theTimes==1){
NowArr = [1, 2, 3, 4, 5,6,7,8,9,10];
}else if (theTimes==2){
NowArr = [1, 2, 3, 4, 5,6,7,8,9,10,1, 2, 3, 4, 5,6,7,8,9,10];
}else if (theTimes==3){
NowArr = [1, 2, 3, 4, 5,6,7,8,9,10,1, 2, 3, 4, 5,6,7,8,9,10,1, 2, 3, 4, 5,6,7,8,9,10];
}else if (theTimes==4){
NowArr = [1, 2, 3, 4, 5,6,7,8,9,10,1, 2, 3, 4, 5,6,7,8,9,10,1, 2, 3, 4, 5,6,7,8,9,10,1, 2, 3, 4, 5,6,7,8,9,10];
}
3.整体色调和换数字的效果还要大改。
4.浏览器兼容问题
《刘亦婷学习方法及细节培养》中提到过该速算训练的方法
http://www.yijide.com/news/102.htm