var w,h,g,my={} function dividegridMain(){my.version='0.82' w=440;h=540;my.canTop=120 my.timeQ=false my.levels=[{name:'Easy',ansMin:4,ansMax:8},{name:'Medium',ansMin:10,ansMax:32},{name:'Hard',ansMin:14,ansMax:50}] my.level=my.levels[0] my.transTime='0.5s' my.mTot=50;my.mWd=36;var s='' s+='' my.soundHome=(document.domain=='localhost')?'/mathsisfun/images/sounds/':'/images/sounds/' s+='';s+='';s+='
';s+='';s+='
 
';s+='
';s+='
1
';s+='
1
';s+='
';s+='
';s+='
';s+='
';s+='
';s+='';s+=radioHTML('Level','level',my.levels,'levelChg');s+='
';s+='';s+='';s+='
';s+='
';s+='
';s+='
';s+=boxHTML('right','Right');s+=boxHTML('wrong','Wrong');if(my.timeQ){s+=boxHTML('avgspeed','Avg Time');s+='
';s+=boxHTML('speed','Time (s)');} s+='
';s+='
';s+='';my.soundQ=true s+=soundBtnHTML() s+='
';s+='
© 2019 MathsIsFun.com v'+my.version+'
';s+='
';document.write(s);var el=document.getElementById('canvasId');var ratio=2;el.width=w*ratio;el.height=(h-my.canTop)*ratio;el.style.width=w+"px";el.style.height=(h-my.canTop)+"px";g=el.getContext("2d");g.setTransform(ratio,0,0,ratio,0,0);var imgHome=(document.domain=='localhost')?'/mathsisfun/numbers/images/':'/numbers/images/' s='';for(var i=0;i' if(true){s+='' s+='';}else{var n=i%8;s+=''} s+=''} document.getElementById('marbles').innerHTML=s;my.spin=0 drawNums() gameStart();} function levelChg(n){my.level=my.levels[n]} function gameStart(){my.rightN=0;my.doneN=0;my.elapsedTot=0;my.maxRoundsN=10;my.prev={wdn:0,htn:0} optionsShow(false) displayUpdate(0) go();} function optionsShow(showQ){var div=document.getElementById('result');if(showQ){div.style.visibility='visible';div.style.opacity=1;}else{div.style.visibility='hidden';div.style.opacity=0;}} function displayUpdate(elapsed){document.getElementById('right').innerHTML=my.rightN;document.getElementById('wrong').innerHTML=my.doneN-my.rightN;if(my.timeQ){document.getElementById('speed').innerHTML=(elapsed<<0)/1000;document.getElementById('avgspeed').innerHTML=((my.elapsedTot/my.doneN)<<0)/1000;}} function showOpts(stt){var div=document.getElementById('ansBoxes');div.style.visibility='visible';var s='';s+='';var val=stt;var n=0;for(var i=0;i<4;i++){s+='
';for(var j=0;j<3;j++){var id=n+'-'+val;s+='
';s+=val;s+='
';val++;n++;} s+='
';} div.innerHTML=s;} function doAns(me){if(!my.ansAvailQ)return my.ansAvailQ=false my.endTime=performance.now();var elapsed=my.endTime-my.sttTime;my.elapsedTot+=elapsed;me.style.border='2px solid black';var div=document.getElementById('ans') div.style.display='block' var div=document.getElementById('lblx') div.style.display='block' var div=document.getElementById('lbly') div.style.display='block' var ids=me.id.split('-');var ans=ids.pop();my.doneN++;var correctQ=false;if(ans==my.ans){if(my.soundQ)document.getElementById('sndyes').play();correctQ=true;my.rightN++;spinAll()}else{if(my.soundQ)document.getElementById('sndno').play();var div=document.getElementById('marbles') shake1(div)} displayUpdate(elapsed);if(my.doneN0.6){s+='Well Done!
';} s+='You got '+my.rightN+' of '+my.doneN+' correct
';if(my.timeQ){s+=((my.elapsedTot/my.doneN)<<0)/1000+' second average';} var div=document.getElementById('msg');div.innerHTML=s;optionsShow(true)} function go(){var okq,wdn,htn do{var wdn=getRandomInt(2,7) var htn=getRandomInt(2,8) okq=true if(wdn*htnmy.level.ansMax+my.doneN*2)okq=false if(wdn==my.prev.wdn)okq=false if(htn==my.prev.htn)okq=false}while(!okq);my.prev.wdn=wdn my.prev.htn=htn my.ans=drawBoxes(wdn,htn) if(my.ans<=12){my.ansStt=1;}else{if(my.ans>=my.ansStt&&my.ans
';s+='0';return s;} function soundBtnHTML(){var s='' s+='' s+='
' return s} function soundToggle(){var btn='sound' if(my.soundQ){my.soundQ=false document.getElementById(btn).classList.add("mute")}else{my.soundQ=true document.getElementById(btn).classList.remove("mute")}} CanvasRenderingContext2D.prototype.roundRect=function(x,y,w,h,r){if(w<2*r)r=w/2;if(h<2*r)r=h/2;this.moveTo(x+r,y);this.arcTo(x+w,y,x+w,y+h,r);this.arcTo(x+w,y+h,x,y+h,r);this.arcTo(x,y+h,x,y,r);this.arcTo(x,y,x+w,y,r);return this;};function getRandomInt(min,max){return Math.floor(Math.random()*(max-min+1)+min);} function radioHTML(prompt,id,lbls,func){var s='';s+='
';for(var i=0;i';s+='';} s+='
';return s;}