請先看 速算撲克牌,開發數學潛能【開發計划】 速算撲克牌 第二版
目前只在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