速算撲克牌 第一版


請先看 速算撲克牌,開發數學潛能【開發計划】  速算撲克牌 第二版

目前只在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);

相關資料 JS打亂數組  JS不重復隨機數

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

http://www.codefans.net/jscss/code/941.shtml

 JS打亂數組  JS不重復隨機數  JS計時腳本


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM