1/* 2 * pgn4web javascript chessboard 3 * copyright (C) 2009-2014 Paolo Casaschi 4 * see README file and http://pgn4web.casaschi.net 5 * for credits, license and more details 6 */ 7 8"use strict"; 9 10function testAllMoves() { 11 var ii = 0; 12 var mm = 0; 13 var start = (new Date()).getTime(); 14 resetAlert(); 15 for (var gg = 0; gg < numberOfGames; gg++) { 16 Init(gg); 17 for (var vv = 0; vv < numberOfVars; vv++) { 18 for (var hh = StartPlyVar[vv]; hh <= StartPlyVar[vv] + PlyNumberVar[vv]; hh++) { 19 GoToMove(hh, vv); 20 mm++; 21 if ((++ii % 100 === 0) && console) { console.log("i=" + ii + " g=" + gg + "/" + numberOfGames + " a=" + alertNumSinceReset); } 22 } 23 } 24 } 25 var tt = ((new Date()).getTime() - start) / 1000; 26 if (console) { console.log("t=" + tt + "s mps=" + Math.floor(mm / tt) + " a=" + alertNumSinceReset); } 27 return alertNumSinceReset; 28} 29 30function testRandomMoves(nn, pv, pg) { 31 var start = (new Date()).getTime(); 32 resetAlert(); 33 if (typeof(nn) == "undefined") { nn = numberOfGames * 100; } 34 if (typeof(pv) == "undefined") { pv = 0.5; } 35 if (typeof(pg) == "undefined") { pg = 0.1; } 36 var gg = 0; 37 var vv = 0; 38 var mm = 0; 39 for (var ii = 1; ii <= nn; ii++) { 40 if (Math.random() < pg) { 41 gg = Math.floor(numberOfGames * Math.random()); 42 Init(gg); 43 vv = 0; 44 } 45 if (Math.random() < pv) { 46 vv = Math.floor(numberOfVars * Math.random()); 47 } 48 var hh = StartPlyVar[vv] + Math.floor((PlyNumberVar[vv] + 1) * Math.random()); 49 GoToMove(hh, vv); 50 mm++; 51 if ((ii % 100 === 0) && console) { console.log("i=" + ii + "/" + nn + " a=" + alertNumSinceReset); } 52 } 53 var tt = ((new Date()).getTime() - start) / 1000; 54 if (console) { console.log("t=" + tt + "s mps=" + Math.floor(mm / tt) + " a=" + alertNumSinceReset); } 55 return alertNumSinceReset; 56} 57 58function customFunctionOnAlert(msg) { 59 if (console) { console.log(" alert: g=" + currentGame + " v=" + CurrentVar + " p=" + CurrentPly + " m=" + msg); } 60} 61 62