<![CDATA[Numbers 1 to 100 Even Odd Mutliples and Factors for Primary Math]]> false true true false ]]> ./numbers1to100/Screen Shot 2017-01-19 at 3.23.03 PM (2).png ./1authorlookangphoto5050.png;./01authorPacoEsquembre2011.png;./01authorFelix_J_Garcia_Clemente.png DESCRIPTION_EDITOR Intro Page true true _default_ Intro Page true 20 1 false VARIABLE_EDITOR Var Table true false VARIABLE_EDITOR layout true false VARIABLE_EDITOR numbers true false VARIABLE_EDITOR colors true false VARIABLE_EDITOR game true false VARIABLE_EDITOR clevercodelookang true false CODE_EDITOR Init Page true false CODE_EDITOR undefined true false CODE_EDITOR svg true false '+ ' '+ ' '+ ' '+ ' '+ ''; container.innerHTML = svggradient; document.body.appendChild(container); //"url(#mygrandient)" ]]> CODE_EDITOR Message true false ODE_EDITOR Evol Page true false t dt RungeKutta 10000 0.00001 false false false false CODE_EDITOR odd false false 0&&oddtextpos[elementinteracted]>0&&oddnumbersleft>0){ //indeed odd //textpos[elementinteracted]=0; oddtextpos[elementinteracted] = 0; // 0 for selected before oddnumbersleft = oddnumbersleft-1; left = oddnumbersleft; // make visible on TRCorner if (oddnumbersleft===0&&alertcount>0){ //game completed immedaite feedback hint="game over! you have found all odd numbers from 1 to 100, \nclick reset and try another option"; score =score+1; alertcount=0; //alert (hint); EJSS_INTERFACE.BoxPanel.showOkDialog(hint); } else { score =score+1; feedbacktext = "well done!"; _view.audio.play(); hint = "correct! when "+elementinteracted+" is divided by 2, the remainder is 1"; } } else if (oddtextpos[elementinteracted]==0){ feedbacktext = "selected before, again other numbers!"; } else if (elementinteracted%2==0){ //wrong 12/2 remainder is zero score=score; // feedbacktext = "incorrect, divided by 2, the remainder is NOT 1" ; feedbacktext = "try again"; // hint = "incorrect, divided by 2, the remainder is NOT 1" ; hint = "incorrect, when "+elementinteracted+" is divided by 2, the remainder is NOT 1"; // alert(hint); colorVectors[elementinteracted] = "rgba(255,0,0,0.5)"; //alert("incorrect, when "+elementinteracted+" is divided by 2, the remainder is NOT 1 \n Click 'OK' button on this pop-up alert to continue"); //count=count+1; // alert(count); // return; } } ]]> CODE_EDITOR even 2 false false 0&&eventextpos[elementinteracted]>0&&evennumbersleft>0){ eventextpos[elementinteracted] = 0; // 0 for selected before evennumbersleft = evennumbersleft-1; left = evennumbersleft; // make visible on TRCorner if (evennumbersleft===0&&alertcount>0){ //game completed immedaite feedback hint="game over! you have found all even numbers from 1 to 100, \nclick reset and try another option"; score =score+1; alertcount=0; // alert (hint); EJSS_INTERFACE.BoxPanel.showOkDialog(hint); } else { score =score+1; feedbacktext = "well done!"; _view.audio.play(); hint = "correct! when "+elementinteracted+" is divided by 2, the remainder is 0"; } } else if (eventextpos[elementinteracted]==0){ feedbacktext = "selected before, again other numbers!"; } else if (elementinteracted%2==1){ score=score; // feedbacktext = "incorrect, divided by 2, the remainder is NOT 0" ; feedbacktext = "try again"; // hint = "incorrect, divided by 2, the remainder is NOT 0" ; hint = "incorrect, when "+elementinteracted+" is divided by 2, the remainder is NOT 0"; colorVectors[elementinteracted] = "rgba(255,0,0,0.4)"; // alert("incorrect, when "+elementinteracted+" is divided by 2, the remainder is NOT 0 \n Click 'OK' button on this pop-up alert to continue"); // return; } } ]]> CODE_EDITOR mergemutliples false false 0)&&(multipletextpos2[elementinteracted]>0)&&(multiplenumbersleftonscreen2>0)){ // rough solution first multipletextpos2[elementinteracted] = 0; // 0 for selected before multiplenumbersleftonscreen2 = multiplenumbersleftonscreen2-1; //reduce left by 1 // alert(multiplenumbersleftonscreen); left = multiplenumbersleftonscreen; // make visible on TRCorner //3 if (multiplenumbersleftonscreen2===0&&alertcount>0){ //game completed immedaite feedback hint="game over! you have found all multiples numbers on screen, \nclick reset and try another option"; score =score+1; alertcount=0; // alert (hint); EJSS_INTERFACE.BoxPanel.showOkDialog(hint); } else { score =score+1; feedbacktext = "well done!"; _view.audio.play(); hint = "correct! when "+elementinteracted+" is divided by "+resultofstringvaluegame2+", the remainder is 0" ; } //score =score+1; // feedbacktext = "well done!"; // hint = "correct! when "+elementinteracted+" is divided by "+resultofstringvaluegame+", the remainder is 0" ; } //2 else if (multipletextpos2[elementinteracted]==0){ feedbacktext = "selected before, again other numbers!"; } //2 else if (elementinteracted>0){ // catch the rest score=score; feedbacktext = "try again"; // feedbacktext = "incorrect, divided by "+resultofstringvaluegame+", the remainder is NOT 0" ; hint = "incorrect, when "+elementinteracted+" is divided by "+resultofstringvaluegame2+", the remainder is NOT 0" ; colorVectors[elementinteracted] = "rgba(255,0,0,0.3)"; // alert("incorrect, when "+elementinteracted+" is divided by "+resultofstringvaluegame+", the remainder is NOT 0 \n Click 'OK' button on this pop-up alert to continue"); //return; } }//1 ]]> CODE_EDITOR factors working false false 0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 left = factorresultsleftonscreen; // make visible on TRCorner // else if(factorresults[1]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct //factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 // left = factorresultsleftonscreen; // make visible on TRCorner //3 if (factorresultsleftonscreen===0&&alertcount>0){ //game completed immedaite feedback hint="game over! you have found all factors numbers on screen, \nclick reset and try another option"; score =score+1; alertcount=0; // alert (hint); EJSS_INTERFACE.BoxPanel.showOkDialog(hint); } else { score =score+1; feedbacktext = "well done!"; _view.audio.play(); hint = "correct! " ; } } //2 //next k=1 start else if(factorresults[1]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 left = factorresultsleftonscreen; // make visible on TRCorner // else if(factorresults[1]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct //factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 // left = factorresultsleftonscreen; // make visible on TRCorner //3 if (factorresultsleftonscreen===0&&alertcount>0){ //game completed immedaite feedback hint="game over! you have found all factors numbers on screen, \nclick reset and try another option"; score =score+1; alertcount=0; // alert (hint); EJSS_INTERFACE.BoxPanel.showOkDialog(hint); } else { score =score+1; feedbacktext = "well done!"; _view.audio.play(); hint = "correct! " ; } } //next k=1 end //next k=2 start else if(factorresults[2]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 left = factorresultsleftonscreen; // make visible on TRCorner // else if(factorresults[1]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct //factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 // left = factorresultsleftonscreen; // make visible on TRCorner //3 if (factorresultsleftonscreen===0&&alertcount>0){ //game completed immedaite feedback hint="game over! you have found all factors numbers on screen, \nclick reset and try another option"; score =score+1; alertcount=0; // alert (hint); EJSS_INTERFACE.BoxPanel.showOkDialog(hint); } else { score =score+1; feedbacktext = "well done!"; _view.audio.play(); hint = "correct! " ; } } //next k=2 end //next k=3 start else if(factorresults[3]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 left = factorresultsleftonscreen; // make visible on TRCorner // else if(factorresults[1]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct //factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 // left = factorresultsleftonscreen; // make visible on TRCorner //3 if (factorresultsleftonscreen===0&&alertcount>0){ //game completed immedaite feedback hint="game over! you have found all factors numbers on screen, \nclick reset and try another option"; score =score+1; alertcount=0; // alert (hint); EJSS_INTERFACE.BoxPanel.showOkDialog(hint); } else { score =score+1; feedbacktext = "well done!"; _view.audio.play(); hint = "correct! " ; } } //next k=3 end else if (factortextpos[elementinteracted]==0){ feedbacktext = "selected before, again other numbers!"; } //next k=4 start else if(factorresults[4]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 left = factorresultsleftonscreen; // make visible on TRCorner // else if(factorresults[1]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct //factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 // left = factorresultsleftonscreen; // make visible on TRCorner //3 if (factorresultsleftonscreen===0&&alertcount>0){ //game completed immedaite feedback hint="game over! you have found all factors numbers on screen, \nclick reset and try another option"; score =score+1; alertcount=0; //alert (hint); EJSS_INTERFACE.BoxPanel.showOkDialog(hint); } else { score =score+1; feedbacktext = "well done!"; _view.audio.play(); hint = "correct! " ; } } //next k=4 end //next k=5 start else if(factorresults[5]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 left = factorresultsleftonscreen; // make visible on TRCorner // else if(factorresults[1]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct //factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 // left = factorresultsleftonscreen; // make visible on TRCorner //3 if (factorresultsleftonscreen===0&&alertcount>0){ //game completed immedaite feedback hint="game over! you have found all factors numbers on screen, \nclick reset and try another option"; score =score+1; alertcount=0; // alert (hint); EJSS_INTERFACE.BoxPanel.showOkDialog(hint); } else { score =score+1; feedbacktext = "well done!"; _view.audio.play(); hint = "correct! " ; } } //next k=5 end //next k=6 start else if(factorresults[6]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 left = factorresultsleftonscreen; // make visible on TRCorner // else if(factorresults[1]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct //factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 // left = factorresultsleftonscreen; // make visible on TRCorner //3 if (factorresultsleftonscreen===0&&alertcount>0){ //game completed immedaite feedback hint="game over! you have found all factors numbers on screen, \nclick reset and try another option"; score =score+1; alertcount=0; // alert (hint); EJSS_INTERFACE.BoxPanel.showOkDialog(hint); } else { score =score+1; feedbacktext = "well done!"; _view.audio.play(); hint = "correct! " ; } } //next k=6 end //next k=7 start else if(factorresults[7]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 left = factorresultsleftonscreen; // make visible on TRCorner // else if(factorresults[1]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct //factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 // left = factorresultsleftonscreen; // make visible on TRCorner //3 if (factorresultsleftonscreen===0&&alertcount>0){ //game completed immedaite feedback hint="game over! you have found all factors numbers on screen, \nclick reset and try another option"; score =score+1; alertcount=0; //alert (hint); EJSS_INTERFACE.BoxPanel.showOkDialog(hint); } else { score =score+1; feedbacktext = "well done!"; _view.audio.play(); hint = "correct! " ; } } //next k=7 end //next k=8 start else if(factorresults[8]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 left = factorresultsleftonscreen; // make visible on TRCorner // else if(factorresults[1]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct //factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 // left = factorresultsleftonscreen; // make visible on TRCorner //3 if (factorresultsleftonscreen===0&&alertcount>0){ //game completed immedaite feedback hint="game over! you have found all factors numbers on screen, \nclick reset and try another option"; score =score+1; alertcount=0; // alert (hint); EJSS_INTERFACE.BoxPanel.showOkDialog(hint); } else { score =score+1; feedbacktext = "well done!"; _view.audio.play(); hint = "correct! " ; } } //next k=8 end //next k=9 start else if(factorresults[9]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 left = factorresultsleftonscreen; // make visible on TRCorner // else if(factorresults[1]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct //factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 // left = factorresultsleftonscreen; // make visible on TRCorner //3 if (factorresultsleftonscreen===0&&alertcount>0){ //game completed immedaite feedback hint="game over! you have found all factors numbers on screen, \nclick reset and try another option"; score =score+1; alertcount=0; // alert (hint); EJSS_INTERFACE.BoxPanel.showOkDialog(hint); } else { score =score+1; feedbacktext = "well done!"; _view.audio.play(); hint = "correct! " ; } } //next k=9 end //next k=10 start else if(factorresults[10]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 left = factorresultsleftonscreen; // make visible on TRCorner // else if(factorresults[1]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct //factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 // left = factorresultsleftonscreen; // make visible on TRCorner //3 if (factorresultsleftonscreen===0&&alertcount>0){ //game completed immedaite feedback hint="game over! you have found all factors numbers on screen, \nclick reset and try another option"; score =score+1; alertcount=0; // alert (hint); EJSS_INTERFACE.BoxPanel.showOkDialog(hint); } else { score =score+1; feedbacktext = "well done!"; _view.audio.play(); hint = "correct! " ; } } //next k=10 end //next k=11 start else if(factorresults[11]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 left = factorresultsleftonscreen; // make visible on TRCorner // else if(factorresults[1]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct //factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 // left = factorresultsleftonscreen; // make visible on TRCorner //3 if (factorresultsleftonscreen===0&&alertcount>0){ //game completed immedaite feedback hint="game over! you have found all factors numbers on screen, \nclick reset and try another option"; score =score+1; alertcount=0; // alert (hint); EJSS_INTERFACE.BoxPanel.showOkDialog(hint); } else { score =score+1; feedbacktext = "well done!"; _view.audio.play(); hint = "correct! " ; } } //next k=11 end //next k=12 start else if(factorresults[12]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 left = factorresultsleftonscreen; // make visible on TRCorner // else if(factorresults[1]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct //factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 // left = factorresultsleftonscreen; // make visible on TRCorner //3 if (factorresultsleftonscreen===0&&alertcount>0){ //game completed immedaite feedback hint="game over! you have found all factors numbers on screen, \nclick reset and try another option"; score =score+1; alertcount=0; // alert (hint); EJSS_INTERFACE.BoxPanel.showOkDialog(hint); } else { score =score+1; feedbacktext = "well done!"; _view.audio.play(); hint = "correct! " ; } } //next k=12 end // else if(factorresults[0]!=elementinteracted&&elementinteracted>0) { //assume no more than 12 answers for factors else if((factorresults[0]!=elementinteracted||factorresults[1]!=elementinteracted||factorresults[2]!=elementinteracted||factorresults[3]!=elementinteracted||factorresults[4]!=elementinteracted||factorresults[5]!=elementinteracted||factorresults[6]!=elementinteracted||factorresults[7]!=elementinteracted||factorresults[8]!=elementinteracted||factorresults[9]!=elementinteracted||factorresults[10]!=elementinteracted||factorresults[11]!=elementinteracted||factorresults[12]!=elementinteracted)&&elementinteracted>0) { score=score; //feedbacktext = "incorrect, the factors of "+resultofstringvaluegame3+"are "+factorresults+"" ; feedbacktext = "try again"; hint = " the factors of "+resultofstringvaluegame3+" are "+factorresults+"" ; colorVectors[elementinteracted] = "rgba(255,0,0,0.1)"; //alert("incorrect, the factors of "+resultofstringvaluegame3+" are "+factorresults+" \n Click 'OK' button on this pop-up alert to continue"); // return; } // } //loop } //1 ]]> CODE_EDITOR TRMessgae true false LIBRARY_EDITOR android true false -1; //&& ua.indexOf("mobile"); } ]]> LIBRARY_EDITOR OnOrientationChange false false LIBRARY_EDITOR fullscreen true false LIBRARY_EDITOR factor false false LIBRARY_EDITOR getFactors true false LIBRARY_EDITOR changeOrientation true false LIBRARY_EDITOR speech true false { // console.log(voice.name, voice.lang) //}) //debug // Queue this utterance. window.speechSynthesis.speak(msg); } ]]> HTML_VIEW_EDITOR HtmlView Page true false true Elements.Panel true Elements.Panel Elements.TwoStateButton Elements.ComboBox 0)? opts[0]:""; // selected option resultofstringvalue = option.substring(13,14); //checking mutliples single digit resultofstringvalue2 = option.substring(13,15); // double digits mutliples resultofstringvalue3 = option.substring(11,13); // double digits factors if (option== "numbers 1 to 100 in orange") { hint = "numbers 1 to 100 are \nin original orange color"; colorhint = colororiginal; for (var i = 1; i < nVectorsMax+1; i++) { for (var j = 0; j < nVectorsMax+1; j++) { vectorIndex = i+nVectors*j; colorVectors[vectorIndex] = colororiginal; numbercolor[vectorIndex]= numbercolorblack; }} } //["user_defined","Odd numbers","Even numbers","Multiples of 1","Multiples of 20","Factors of 20","Factors of 100"] else if (option== "Odd numbers in red") { for (var i = 1; i < nVectorsMax+1; i++) { for (var j = 0; j < nVectorsMax+1; j++) { vectorIndex = i+nVectors*j; hint = "When an ODD number is divided by 2, \nthe remainder is 1"; colorhint = colorodd; if (vectorIndex%2===1){ colorVectors[vectorIndex] = colorodd;//red numbercolor[vectorIndex]= numbercolorblack; } else { colorVectors[vectorIndex] = colororiginal; numbercolor[vectorIndex]= colordull; } } } //alert("When an ODD number is divided by 2, the remainder is 1 \n Click 'OK' button on this pop-up alert to continue"); //EJSS_INTERFACE.BoxPanel.showOkDialog("When an ODD number is divided by 2, the remainder is 1"); // return; } else if (option== "Even numbers in green") { for (var i = 1; i < nVectorsMax+1; i++) { for (var j = 0; j < nVectorsMax+1; j++) { vectorIndex = i+nVectors*j; hint = "When an EVEN number is divided by 2, \nthe remainder is 0"; colorhint = coloreven; if (vectorIndex%2===0){ colorVectors[vectorIndex] = coloreven;//green numbercolor[vectorIndex]= numbercolorblack; } else { colorVectors[vectorIndex] = colororiginal; numbercolor[vectorIndex]= colordull; //number dull down } } } //alert("When an EVEN number is divided by 2, the remainder is 0 \n Click 'OK' button on this pop-up alert to continue"); //EJSS_INTERFACE.BoxPanel.showOkDialog("When an EVEN number is divided by 2, the remainder is 0 \n Click 'OK' button on this pop-up alert to continue"); // return; } // multiples clever codes for single digit else if (option== "Multiples of "+resultofstringvalue+" in teal") { for (var i = 1; i < nVectorsMax+1; i++) { for (var j = 0; j < nVectorsMax+1; j++) { vectorIndex = i+nVectors*j; //hint = "when a multiple of "+resultofstringvalue+" is divided by "+resultofstringvalue+", \nthere is no remainder"; hint = "To get multiples of "+resultofstringvalue+", skip count "+resultofstringvalue+"."; colorhint = colormultiples; var remainder = vectorIndex % resultofstringvalue; if (remainder == 0){ //x is a multiple of y colorVectors[vectorIndex] = colormultiples;//teal numbercolor[vectorIndex]= numbercolorblack; } else { //x is not a multiple of y colorVectors[vectorIndex] = colororiginal; numbercolor[vectorIndex]= colordull; } }} //extra code to control height to show only 12 answers/multiples if (resultofstringvalue==1){ ymin = 3; } if (resultofstringvalue==2){ ymin = 2; } if (resultofstringvalue==3){ ymin = 1; } if (resultofstringvalue==4){ ymin = 0; } if (resultofstringvalue==5){ ymin = -1; } if (resultofstringvalue==6){ ymin = -3; } if (resultofstringvalue==7){ ymin = -4; } //alert("when a multiple of "+resultofstringvalue+" is divided by "+resultofstringvalue+", there is no remainder \n Click 'OK' button on this pop-up alert to continue"); //alert("Multiples of "+resultofstringvalue+" can be divided exactly by "+resultofstringvalue+" \n Click 'OK' button on this pop-up alert to continue"); //EJSS_INTERFACE.BoxPanel.showOkDialog("Multiples of "+resultofstringvalue+" can be divided exactly by "+resultofstringvalue+" \n Click 'OK' button on this pop-up alert to continue"); // return; } // multiples clever codes for double digit else if (option== "Multiples of "+resultofstringvalue2+" in teal") { for (var i = 1; i < nVectorsMax+1; i++) { for (var j = 0; j < nVectorsMax+1; j++) { vectorIndex = i+nVectors*j; //hint = "when a multiple of "+resultofstringvalue2+" is divided by "+resultofstringvalue2+", \nthere is no remainder"; hint = "To get multiples of "+resultofstringvalue2+", skip count "+resultofstringvalue2+"."; colorhint = colormultiples; var remainder = vectorIndex % resultofstringvalue2; if (remainder == 0){ //x is a multiple of y colorVectors[vectorIndex] = colormultiples;//teal numbercolor[vectorIndex]= numbercolorblack; } else { //x is not a multiple of y colorVectors[vectorIndex] = colororiginal; numbercolor[vectorIndex]= colordull; } }} //alert("when a multiple of "+resultofstringvalue2+" is divided by "+resultofstringvalue2+", there is no remainder \n Click 'OK' button on this pop-up alert to continue"); //alert("Multiples of "+resultofstringvalue2+" can be divided exactly by "+resultofstringvalue2+" \n Click 'OK' button on this pop-up alert to continue"); //EJSS_INTERFACE.BoxPanel.showOkDialog("Multiples of "+resultofstringvalue2+" can be divided exactly by "+resultofstringvalue2+" \n Click 'OK' button on this pop-up alert to continue"); ymin = -5; // set to maximum // return; } //factors celever codes double digits else if (option== "Factors of "+resultofstringvalue3) { for (var i = 1; i < nVectorsMax+1; i++) { for (var j = 0; j < nVectorsMax+1; j++) { vectorIndex = i+nVectors*j; hint = "when a number "+resultofstringvalue3+" is divided by a factor, \nthere is no remainder"; colorhint = colorfactors; colorVectors[vectorIndex] = colororiginal;//set all to original numbercolor[vectorIndex]= colordull; //grey out numbers factorresults = getFactors(resultofstringvalue3); //assuming no more than 14 numbers manual code in //colorVectors[factorresults[0]] = colorfactors;//red //colorVectors[factorresults[factorresults.length-1]] = colorfactors;//red //colorVectors[factorresults[1]] = colorfactors+1;//red //colorVectors[factorresults[factorresults.length-2]] = colorfactors+1;//red //colorVectors[factorresults[2]] = colorfactors+2;//red //colorVectors[factorresults[factorresults.length-3]] = colorfactors+2;//red for (var k = 0; k < factorresults.length/2; k++){ colorVectors[factorresults[k]] = k+colorfactors; colorVectors[factorresults[factorresults.length-k-1]] = k+colorfactors; } for (var k = 0; k < factorresults.length; k++){ // colorVectors[factorresults[k]] = colorfactors;//pink numbercolor[factorresults[k]]= numbercolorblack; //black numbers } /* for (var k = 0; k < factorresults.length; k++){ colorVectors[factorresults[k]] = colorfactors;//pink numbercolor[factorresults[k]]= numbercolorblack; //black numbers } */ }} //alert("when a number "+resultofstringvalue3+" is divided by a factor, there is no remainder \n Click 'OK' button on this pop-up alert to continue"); //EJSS_INTERFACE.BoxPanel.showOkDialog("when a number "+resultofstringvalue3+" is divided by a factor, there is no remainder \n Click 'OK' button on this pop-up alert to continue"); // return; //extra code to control height to show only factors if (resultofstringvalue3==20){ ymin = 3; } else if (resultofstringvalue3>=21&&resultofstringvalue3<=30){ ymin = 2; } else if (resultofstringvalue3>=31&&resultofstringvalue3<=40){ ymin = 1; } else if (resultofstringvalue3>=41&&resultofstringvalue3<=50){ ymin = 0; } else if (resultofstringvalue3>=51&&resultofstringvalue3<=60){ ymin = -1; } else if (resultofstringvalue3>=61&&resultofstringvalue3<=70){ ymin = -2; } else if (resultofstringvalue3>=71&&resultofstringvalue3<=80){ ymin = -3; } else if (resultofstringvalue3>=81&&resultofstringvalue3<=90){ ymin = -4; } else { ymin = -5; } } //factors three digits 100 else if (option== "Factors of 100") { for (var i = 1; i < nVectorsMax+1; i++) { for (var j = 0; j < nVectorsMax+1; j++) { vectorIndex = i+nVectors*j; hint = "when a number 100 is divided by a factor, \nthere is no remainder"; colorhint = colorfactors; colorVectors[vectorIndex] = colororiginal;//set all to original numbercolor[vectorIndex]= colordull; //grey out numbers factorresults = getFactors(100); for (var k = 0; k < factorresults.length/2; k++){ colorVectors[factorresults[k]] = k+colorfactors; colorVectors[factorresults[factorresults.length-k-1]] = k+colorfactors; } for (var k = 0; k < factorresults.length; k++){ // colorVectors[factorresults[k]] = colorfactors;//pink numbercolor[factorresults[k]]= numbercolorblack; //black numbers } /* for (var k = 0; k < factorresults.length; k++){ colorVectors[factorresults[k]] = colorfactors;//pink numbercolor[factorresults[k]]= numbercolorblack; //back to black } */ ymin = -5; }} //alert("when a number 100 is divided by a factor, there is no remainder \n Click 'OK' button on this pop-up alert to continue"); //EJSS_INTERFACE.BoxPanel.showOkDialog("when a number 100 is divided by a factor, there is no remainder \n Click 'OK' button on this pop-up alert to continue"); // return; } else if (option== "practice?"){ practiceshow=true; text = "practice mode, select the option"; for (var i = 1; i < nVectorsMax+1; i++) { for (var j = 0; j < nVectorsMax+1; j++) { vectorIndex = i+nVectors*j; colorVectors[vectorIndex] = colororiginal; numbercolor[vectorIndex]= numbercolorblack; }} } speech (option); /* if(parent.cordova) { // check it is running in Android //var option1 = _view.comboBox.getProperty("SelectedOptions"); parent.TTS.speak(option, function () { // success }, function (reason) { // error }); } else { var msg = new SpeechSynthesisUtterance(option); window.speechSynthesis.speak(msg); } */ ]]> Elements.ComboBox 0)? opts[0]:""; // selected option /* resultofstringvaluegame = selected1[0].substring(20,21); //checking mutliples single digit //alert(resultofstringvaluegame); resultofstringvaluegame2 = selected1[0].substring(20,22); // double digits //resultofstringvaluegame3 = selected1[0].substring(18,20); // double digits factors resultofstringvaluegame3 = selected1[0].substring(18,21); // single ,double and triple digits factors */ // seems unused in single digits works for both single and double 20201229 resultofstringvaluegame = option.substring(20,21); //checking mutliples single digit //alert(resultofstringvaluegame); resultofstringvaluegame2 = option.substring(20,22); // double digits //resultofstringvaluegame3 = selected1[0].substring(18,20); // double digits factors resultofstringvaluegame3 = option.substring(18,21); // single ,double and triple digits factors if (option== "select multiples of "+resultofstringvaluegame2) { // initialise values for multiple single digit // alert(option); multiplenumbersleft = Math.floor(100/resultofstringvaluegame2); // multiplenumbersleftonscreen = Math.floor(40/resultofstringvaluegame); //extra code to control height to show only 12 answers/multiples if (resultofstringvaluegame2==1){ //30 ymin = 3; multiplenumbersleftonscreen2 = Math.floor(30/resultofstringvaluegame2); } else if (resultofstringvaluegame2==2){ ymin = 2; multiplenumbersleftonscreen2 = Math.floor(40/resultofstringvaluegame2); } else if (resultofstringvaluegame2==3){ //multiples of 3 ymin = 1; multiplenumbersleftonscreen2 = Math.floor(40/resultofstringvaluegame2); } else if (resultofstringvaluegame2==4){ ymin = 0; multiplenumbersleftonscreen2 = Math.floor(50/resultofstringvaluegame2); } else if (resultofstringvaluegame2==5){ ymin = -1; // alert("ymin="+ymin); multiplenumbersleftonscreen2 = Math.floor(60/resultofstringvaluegame2); } else if (resultofstringvaluegame2==6){ ymin = -3; multiplenumbersleftonscreen2 = Math.floor(80/resultofstringvaluegame2); } else if (resultofstringvaluegame2==7){ //100 ymin = -4; multiplenumbersleftonscreen2 = Math.floor(90/resultofstringvaluegame2); } else{ multiplenumbersleftonscreen2 = Math.floor(100/resultofstringvaluegame2); } } //outside loop else if (option== "select multiples of "+resultofstringvaluegame2) { multiplenumbersleftonscreen2 = Math.floor(100/resultofstringvaluegame2); } else if (option== "select factors of "+resultofstringvaluegame3) { //factorresultsleftonscreen = getFactors(resultofstringvaluegame3); factorresults = getFactors(resultofstringvaluegame3); factorresultsleftonscreen= factorresults.length; //extra code to control height to show only factors if (resultofstringvaluegame3==20){ ymin = 3; } else if (resultofstringvaluegame3>=21&&resultofstringvaluegame3<=30){ ymin = 2; } else if (resultofstringvaluegame3>=31&&resultofstringvaluegame3<=40){ ymin = 1; } else if (resultofstringvaluegame3>=41&&resultofstringvaluegame3<=50){ ymin = 0; } else if (resultofstringvaluegame3>=51&&resultofstringvaluegame3<=60){ ymin = -1; } else if (resultofstringvaluegame3>=61&&resultofstringvaluegame3<=70){ ymin = -2; } else if (resultofstringvaluegame3>=71&&resultofstringvaluegame3<=80){ ymin = -3; } else if (resultofstringvaluegame3>=81&&resultofstringvaluegame3<=90){ ymin = -4; } else { ymin = -5; } } speech (option);]]> Elements.Button true Elements.Panel true Elements.PlottingPanel Elements.ShapeSet2D Elements.ShapeSet2D Elements.ShapeSet2D 0&&oddtextpos[elementinteracted]>0&&oddnumbersleft>0){ //indeed odd colorVectors[elementinteracted]=colorcorrect; //textpos[elementinteracted]=0; oddtextpos[elementinteracted] = 0; // 0 for selected before oddnumbersleft = oddnumbersleft-1; left = oddnumbersleft; // make visible on TRCorner if (oddnumbersleft===0&&alertcount>0){ //game completed immedaite feedback hint="game over! you have found all odd numbers from 1 to 100, \nclick reset and try another option"; score =score+1; alertcount=0; //alert (hint); EJSS_INTERFACE.BoxPanel.showOkDialog(hint); } else { score =score+1; feedbacktext = "well done!"; _view.audio.play(); hint = "correct! when "+elementinteracted+" is divided by 2, the remainder is 1"; } } else if (oddtextpos[elementinteracted]==0){ feedbacktext = "selected before, again other numbers!"; } else if (elementinteracted%2==0){ //wrong 12/2 remainder is zero score=score; // feedbacktext = "incorrect, divided by 2, the remainder is NOT 1" ; feedbacktext = "try again"; // hint = "incorrect, divided by 2, the remainder is NOT 1" ; hint = "incorrect, when "+elementinteracted+" is divided by 2, the remainder is NOT 1"; // alert(hint); colorVectors[elementinteracted] = "rgba(255,0,0,0.5)"; //alert("incorrect, when "+elementinteracted+" is divided by 2, the remainder is NOT 1 \n Click 'OK' button on this pop-up alert to continue"); //count=count+1; // alert(count); // return; } }]]> Elements.ShapeSet2D 0&&eventextpos[elementinteracted]>0&&evennumbersleft>0){ colorVectors[elementinteracted] = colorcorrect; eventextpos[elementinteracted] = 0; // 0 for selected before evennumbersleft = evennumbersleft-1; left = evennumbersleft; // make visible on TRCorner if (evennumbersleft===0&&alertcount>0){ //game completed immedaite feedback hint="game over! you have found all even numbers from 1 to 100, \nclick reset and try another option"; score =score+1; alertcount=0; // alert (hint); EJSS_INTERFACE.BoxPanel.showOkDialog(hint); } else { score =score+1; feedbacktext = "well done!"; _view.audio.play(); hint = "correct! when "+elementinteracted+" is divided by 2, the remainder is 0"; } } else if (eventextpos[elementinteracted]==0){ feedbacktext = "selected before, again other numbers!"; } else if (elementinteracted%2==1){ score=score; // feedbacktext = "incorrect, divided by 2, the remainder is NOT 0" ; feedbacktext = "try again"; // hint = "incorrect, divided by 2, the remainder is NOT 0" ; hint = "incorrect, when "+elementinteracted+" is divided by 2, the remainder is NOT 0"; colorVectors[elementinteracted] = "rgba(255,0,0,0.4)"; // alert("incorrect, when "+elementinteracted+" is divided by 2, the remainder is NOT 0 \n Click 'OK' button on this pop-up alert to continue"); // return; } }]]> Elements.ShapeSet2D 0)&&(multipletextpos2[elementinteracted]>0)&&(multiplenumbersleftonscreen2>0)){ // rough solution first multipletextpos2[elementinteracted] = 0; // 0 for selected before multiplenumbersleftonscreen2 = multiplenumbersleftonscreen2-1; //reduce left by 1 // alert(multiplenumbersleftonscreen); left = multiplenumbersleftonscreen; // make visible on TRCorner //3 if (multiplenumbersleftonscreen2===0&&alertcount>0){ //game completed immedaite feedback hint="game over! you have found all multiples numbers on screen, \nclick reset and try another option"; score =score+1; alertcount=0; // alert (hint); EJSS_INTERFACE.BoxPanel.showOkDialog(hint); } else { score =score+1; feedbacktext = "well done!"; _view.audio.play(); hint = "correct! when "+elementinteracted+" is divided by "+resultofstringvaluegame2+", the remainder is 0" ; } //score =score+1; // feedbacktext = "well done!"; // hint = "correct! when "+elementinteracted+" is divided by "+resultofstringvaluegame+", the remainder is 0" ; } //2 else if (multipletextpos2[elementinteracted]==0){ feedbacktext = "selected before, again other numbers!"; } //2 else if (elementinteracted>0){ // catch the rest score=score; feedbacktext = "try again"; // feedbacktext = "incorrect, divided by "+resultofstringvaluegame+", the remainder is NOT 0" ; hint = "incorrect, when "+elementinteracted+" is divided by "+resultofstringvaluegame2+", the remainder is NOT 0" ; colorVectors[elementinteracted] = "rgba(255,0,0,0.3)"; // alert("incorrect, when "+elementinteracted+" is divided by "+resultofstringvaluegame+", the remainder is NOT 0 \n Click 'OK' button on this pop-up alert to continue"); //return; } }//1]]> Elements.ShapeSet2D 0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 left = factorresultsleftonscreen; // make visible on TRCorner // else if(factorresults[1]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct //factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 // left = factorresultsleftonscreen; // make visible on TRCorner //3 if (factorresultsleftonscreen===0&&alertcount>0){ //game completed immedaite feedback hint="game over! you have found all factors numbers on screen, \nclick reset and try another option"; score =score+1; alertcount=0; // alert (hint); EJSS_INTERFACE.BoxPanel.showOkDialog(hint); } else { score =score+1; feedbacktext = "well done!"; _view.audio.play(); hint = "correct! " ; } } //2 //next k=1 start else if(factorresults[1]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 left = factorresultsleftonscreen; // make visible on TRCorner // else if(factorresults[1]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct //factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 // left = factorresultsleftonscreen; // make visible on TRCorner //3 if (factorresultsleftonscreen===0&&alertcount>0){ //game completed immedaite feedback hint="game over! you have found all factors numbers on screen, \nclick reset and try another option"; score =score+1; alertcount=0; // alert (hint); EJSS_INTERFACE.BoxPanel.showOkDialog(hint); } else { score =score+1; feedbacktext = "well done!"; _view.audio.play(); hint = "correct! " ; } } //next k=1 end //next k=2 start else if(factorresults[2]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 left = factorresultsleftonscreen; // make visible on TRCorner // else if(factorresults[1]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct //factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 // left = factorresultsleftonscreen; // make visible on TRCorner //3 if (factorresultsleftonscreen===0&&alertcount>0){ //game completed immedaite feedback hint="game over! you have found all factors numbers on screen, \nclick reset and try another option"; score =score+1; alertcount=0; // alert (hint); EJSS_INTERFACE.BoxPanel.showOkDialog(hint); } else { score =score+1; feedbacktext = "well done!"; _view.audio.play(); hint = "correct! " ; } } //next k=2 end //next k=3 start else if(factorresults[3]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 left = factorresultsleftonscreen; // make visible on TRCorner // else if(factorresults[1]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct //factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 // left = factorresultsleftonscreen; // make visible on TRCorner //3 if (factorresultsleftonscreen===0&&alertcount>0){ //game completed immedaite feedback hint="game over! you have found all factors numbers on screen, \nclick reset and try another option"; score =score+1; alertcount=0; // alert (hint); EJSS_INTERFACE.BoxPanel.showOkDialog(hint); } else { score =score+1; feedbacktext = "well done!"; _view.audio.play(); hint = "correct! " ; } } //next k=3 end else if (factortextpos[elementinteracted]==0){ feedbacktext = "selected before, again other numbers!"; } //next k=4 start else if(factorresults[4]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 left = factorresultsleftonscreen; // make visible on TRCorner // else if(factorresults[1]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct //factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 // left = factorresultsleftonscreen; // make visible on TRCorner //3 if (factorresultsleftonscreen===0&&alertcount>0){ //game completed immedaite feedback hint="game over! you have found all factors numbers on screen, \nclick reset and try another option"; score =score+1; alertcount=0; //alert (hint); EJSS_INTERFACE.BoxPanel.showOkDialog(hint); } else { score =score+1; feedbacktext = "well done!"; _view.audio.play(); hint = "correct! " ; } } //next k=4 end //next k=5 start else if(factorresults[5]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 left = factorresultsleftonscreen; // make visible on TRCorner // else if(factorresults[1]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct //factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 // left = factorresultsleftonscreen; // make visible on TRCorner //3 if (factorresultsleftonscreen===0&&alertcount>0){ //game completed immedaite feedback hint="game over! you have found all factors numbers on screen, \nclick reset and try another option"; score =score+1; alertcount=0; // alert (hint); EJSS_INTERFACE.BoxPanel.showOkDialog(hint); } else { score =score+1; feedbacktext = "well done!"; _view.audio.play(); hint = "correct! " ; } } //next k=5 end //next k=6 start else if(factorresults[6]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 left = factorresultsleftonscreen; // make visible on TRCorner // else if(factorresults[1]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct //factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 // left = factorresultsleftonscreen; // make visible on TRCorner //3 if (factorresultsleftonscreen===0&&alertcount>0){ //game completed immedaite feedback hint="game over! you have found all factors numbers on screen, \nclick reset and try another option"; score =score+1; alertcount=0; // alert (hint); EJSS_INTERFACE.BoxPanel.showOkDialog(hint); } else { score =score+1; feedbacktext = "well done!"; _view.audio.play(); hint = "correct! " ; } } //next k=6 end //next k=7 start else if(factorresults[7]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 left = factorresultsleftonscreen; // make visible on TRCorner // else if(factorresults[1]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct //factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 // left = factorresultsleftonscreen; // make visible on TRCorner //3 if (factorresultsleftonscreen===0&&alertcount>0){ //game completed immedaite feedback hint="game over! you have found all factors numbers on screen, \nclick reset and try another option"; score =score+1; alertcount=0; //alert (hint); EJSS_INTERFACE.BoxPanel.showOkDialog(hint); } else { score =score+1; feedbacktext = "well done!"; _view.audio.play(); hint = "correct! " ; } } //next k=7 end //next k=8 start else if(factorresults[8]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 left = factorresultsleftonscreen; // make visible on TRCorner // else if(factorresults[1]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct //factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 // left = factorresultsleftonscreen; // make visible on TRCorner //3 if (factorresultsleftonscreen===0&&alertcount>0){ //game completed immedaite feedback hint="game over! you have found all factors numbers on screen, \nclick reset and try another option"; score =score+1; alertcount=0; // alert (hint); EJSS_INTERFACE.BoxPanel.showOkDialog(hint); } else { score =score+1; feedbacktext = "well done!"; _view.audio.play(); hint = "correct! " ; } } //next k=8 end //next k=9 start else if(factorresults[9]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 left = factorresultsleftonscreen; // make visible on TRCorner // else if(factorresults[1]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct //factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 // left = factorresultsleftonscreen; // make visible on TRCorner //3 if (factorresultsleftonscreen===0&&alertcount>0){ //game completed immedaite feedback hint="game over! you have found all factors numbers on screen, \nclick reset and try another option"; score =score+1; alertcount=0; // alert (hint); EJSS_INTERFACE.BoxPanel.showOkDialog(hint); } else { score =score+1; feedbacktext = "well done!"; _view.audio.play(); hint = "correct! " ; } } //next k=9 end //next k=10 start else if(factorresults[10]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 left = factorresultsleftonscreen; // make visible on TRCorner // else if(factorresults[1]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct //factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 // left = factorresultsleftonscreen; // make visible on TRCorner //3 if (factorresultsleftonscreen===0&&alertcount>0){ //game completed immedaite feedback hint="game over! you have found all factors numbers on screen, \nclick reset and try another option"; score =score+1; alertcount=0; // alert (hint); EJSS_INTERFACE.BoxPanel.showOkDialog(hint); } else { score =score+1; feedbacktext = "well done!"; _view.audio.play(); hint = "correct! " ; } } //next k=10 end //next k=11 start else if(factorresults[11]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 left = factorresultsleftonscreen; // make visible on TRCorner // else if(factorresults[1]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct //factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 // left = factorresultsleftonscreen; // make visible on TRCorner //3 if (factorresultsleftonscreen===0&&alertcount>0){ //game completed immedaite feedback hint="game over! you have found all factors numbers on screen, \nclick reset and try another option"; score =score+1; alertcount=0; // alert (hint); EJSS_INTERFACE.BoxPanel.showOkDialog(hint); } else { score =score+1; feedbacktext = "well done!"; _view.audio.play(); hint = "correct! " ; } } //next k=11 end //next k=12 start else if(factorresults[12]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 left = factorresultsleftonscreen; // make visible on TRCorner // else if(factorresults[1]==elementinteracted&&(elementinteracted>0)&&(factortextpos[elementinteracted]>0)&&(factorresultsleftonscreen>0)){ // assume only 10 such answers correct //factorresultsleftonscreen = factorresultsleftonscreen-1; //reduce left by 1 // left = factorresultsleftonscreen; // make visible on TRCorner //3 if (factorresultsleftonscreen===0&&alertcount>0){ //game completed immedaite feedback hint="game over! you have found all factors numbers on screen, \nclick reset and try another option"; score =score+1; alertcount=0; // alert (hint); EJSS_INTERFACE.BoxPanel.showOkDialog(hint); } else { score =score+1; feedbacktext = "well done!"; _view.audio.play(); hint = "correct! " ; } } //next k=12 end // else if(factorresults[0]!=elementinteracted&&elementinteracted>0) { //assume no more than 12 answers for factors else if((factorresults[0]!=elementinteracted||factorresults[1]!=elementinteracted||factorresults[2]!=elementinteracted||factorresults[3]!=elementinteracted||factorresults[4]!=elementinteracted||factorresults[5]!=elementinteracted||factorresults[6]!=elementinteracted||factorresults[7]!=elementinteracted||factorresults[8]!=elementinteracted||factorresults[9]!=elementinteracted||factorresults[10]!=elementinteracted||factorresults[11]!=elementinteracted||factorresults[12]!=elementinteracted)&&elementinteracted>0) { score=score; //feedbacktext = "incorrect, the factors of "+resultofstringvaluegame3+"are "+factorresults+"" ; feedbacktext = "try again"; hint = " the factors of "+resultofstringvaluegame3+" are "+factorresults+"" ; colorVectors[elementinteracted] = "rgba(255,0,0,0.1)"; //alert("incorrect, the factors of "+resultofstringvaluegame3+" are "+factorresults+" \n Click 'OK' button on this pop-up alert to continue"); // return; } // } //loop } //1 ]]> Elements.TextSet2D true Elements.Group2D Elements.Text2D Elements.Image2D Elements.Text2D true Elements.Panel Elements.Slider Elements.Audio Elements.Panel Description

This interactive is made to allow students to explore odd, even numbers, multiples and factors of numbers from 1 to 100.

How to use

The button is a toggle button between teaching mode and practice mode. The teaching mode allows teachers to use the interactive to demonstrate the odd, even, multiples and factors concepts of numbers. This can then be followed by the practice mode where students can decide what is the correct concepts.

The middle combo box allows the user to change the kind of activities they want to try.

The reset button is reset the simulation to his default state.

The slider at the bottom allows the user to target a selected range of numbers, for example, for younger students can be exposed to only a small view of the numbers from 1 to 100, For example, 1 to 40 instead for productive noticing and struggling.

]]>