From 59d989f00ebf2fe9c4d2505837691bf8c0192915 Mon Sep 17 00:00:00 2001 From: cs0x7f Date: Wed, 4 Sep 2024 23:03:31 +0800 Subject: [PATCH] add help message and lower bound for easy (x)cross scramble, clean up --- src/js/lib/mathlib.js | 76 ++++++++++++++++++++++++++----------- src/js/lib/utillib.js | 2 +- src/js/scramble/scramble.js | 12 +++++- src/js/tools/cross.js | 15 ++++++-- src/lang/ar-sa.js | 1 + src/lang/ca-es.js | 1 + src/lang/cs-cz.js | 1 + src/lang/da-dk.js | 1 + src/lang/de-de.js | 1 + src/lang/el-gr.js | 1 + src/lang/en-us.js | 1 + src/lang/es-es.js | 1 + src/lang/fa-ir.js | 1 + src/lang/fi-fi.js | 1 + src/lang/fr-fr.js | 1 + src/lang/he-il.js | 1 + src/lang/hi-in.js | 1 + src/lang/hr-hr.js | 1 + src/lang/hu-hu.js | 1 + src/lang/it-it.js | 1 + src/lang/ja-jp.js | 1 + src/lang/ko-kr.js | 1 + src/lang/langDet.php | 2 +- src/lang/lv-lv.js | 1 + src/lang/nl-nl.js | 1 + src/lang/no-no.js | 1 + src/lang/pl-pl.js | 1 + src/lang/pt-pt.js | 1 + src/lang/ro-ro.js | 1 + src/lang/ru-ru.js | 1 + src/lang/sk-sk.js | 1 + src/lang/sl-si.js | 21 +++++----- src/lang/sl-si.php | 26 ++++++------- src/lang/sr-sp.js | 1 + src/lang/sv-se.js | 1 + src/lang/tr-tr.js | 7 ++-- src/lang/uk-ua.js | 1 + src/lang/vi-vn.js | 1 + src/lang/zh-cn.js | 1 + src/lang/zh-tw.js | 1 + 40 files changed, 138 insertions(+), 55 deletions(-) diff --git a/src/js/lib/mathlib.js b/src/js/lib/mathlib.js index 4981c499..b8cee8c5 100644 --- a/src/js/lib/mathlib.js +++ b/src/js/lib/mathlib.js @@ -17,6 +17,22 @@ var mathlib = (function() { } } + var permMul4 = []; + for (var i = 0; i < 24; i++) { + var perm1 = []; + var perm2 = []; + var perm3 = []; + permMul4[i] = []; + setNPerm(perm1, i, 4); + for (var j = 0; j < 24; j++) { + setNPerm(perm2, j, 4); + for (var k = 0; k < 4; k++) { + perm3[k] = perm1[perm2[k]]; + } + permMul4[i][j] = getNPerm(perm3, 4); + } + } + function circleOri(arr, a, b, c, d, ori) { var temp = arr[a]; arr[a] = arr[d] ^ ori; @@ -1046,49 +1062,64 @@ var mathlib = (function() { _ = Searcher.prototype; - _.solve = function(idx, minl, MAXL, callback) { - var sols = this.solveMulti([idx], minl, MAXL, callback); + _.solve = function(idx, minl, MAXL, callback, cost) { + var sols = this.solveMulti([idx], minl, MAXL, callback, cost); return sols == null ? null : sols[0]; }; - _.solveMulti = function(idxs, minl, MAXL, callback) { + _.solveMulti = function(idxs, minl, MAXL, callback, cost) { + this.sidx = 0; + this.sol = []; + this.length = minl; + this.idxs = idxs; + return this.nextMulti(MAXL, callback, cost); + }; + + _.next = function(MAXL, callback, cost) { + var sols = this.nextMulti(MAXL, callback, cost); + return sols == null ? null : sols[0]; + }; + + _.nextMulti = function(MAXL, callback, cost) { + this.cost = (cost || 1e9) + 1; this.callback = callback || function() { return true; }; - var sol = []; - out: for (var l = minl; l <= MAXL; l++) { - for (var s = 0; s < idxs.length; s++) { - this.sidx = s; - if (this.idaSearch(idxs[s], l, -1, sol) == 0) { - break out; + for (; this.length <= MAXL; this.length++) { + for (; this.sidx < this.idxs.length; this.sidx++) { + if (this.idaSearch(this.idxs[this.sidx], this.length, 0, -1, this.sol) == 0) { + return this.cost <= 0 ? null : [this.sol, this.sidx]; } } - this.sidx = -1; + this.sidx = 0; } - return this.sidx == -1 ? null : [sol, this.sidx]; - }; + return null; + } - _.idaSearch = function(idx, maxl, lm, sol) { + _.idaSearch = function(idx, maxl, depth, lm, sol) { + if (--this.cost <= 0) { + return 0; + } var prun = this.getPrun(idx); if (prun > maxl) { return prun > maxl + 1 ? 2 : 1; - } - if (maxl == 0) { + } else if (maxl == 0) { return this.isSolved(idx) && this.callback(sol, this.sidx) ? 0 : 1; - } - if (prun == 0 && this.isSolved(idx) && maxl == 1) { + } else if (prun == 0 && maxl == 1 && this.isSolved(idx)) { return 1; } - for (var axis = 0; axis < this.N_AXIS; axis++) { + var axis = sol.length > depth ? sol[depth][0] : 0; + for (; axis < this.N_AXIS; axis++) { if (this.ckmv[lm] >> axis & 1) { continue; } var idx1 = $.isArray(idx) ? idx.slice() : idx; - for (var pow = 0; pow < this.N_POWER; pow++) { - idx1 = this.doMove(idx1, axis); + var pow = sol.length > depth ? sol[depth][1] : 0; + for (; pow < this.N_POWER; pow++) { + idx1 = this.doMove(idx1, axis, pow); if (idx1 == null) { break; } - sol.push([axis, pow]); - var ret = this.idaSearch(idx1, maxl - 1, axis, sol); + sol[depth] = [axis, pow]; + var ret = this.idaSearch(idx1, maxl - 1, depth + 1, axis, sol); if (ret == 0) { return 0; } @@ -1436,6 +1467,7 @@ var mathlib = (function() { setNPerm: setNPerm, getNPerm: getNPerm, getNParity: getNParity, + permMul4: permMul4, Coord: Coord, createMove: createMove, createMoveHash: createMoveHash, diff --git a/src/js/lib/utillib.js b/src/js/lib/utillib.js index 02cd3ac2..1ec7ee8f 100644 --- a/src/js/lib/utillib.js +++ b/src/js/lib/utillib.js @@ -73,7 +73,7 @@ ISCSTIMER && execMain(function() { DEBUG && console.log(CSTIMER_VERSION, fingerprint, msg, url, line, col, error); }; - var constants = ['CSTIMER_VERSION', 'LANG_SET', 'LANG_STR', 'LANG_CUR', 'OK_LANG', 'CANCEL_LANG', 'RESET_LANG', 'ABOUT_LANG', 'ZOOM_LANG', 'COPY_LANG', 'BUTTON_TIME_LIST', 'BUTTON_OPTIONS', 'BUTTON_EXPORT', 'BUTTON_DONATE', 'PROPERTY_SR', 'PROPERTY_USEINS', 'PROPERTY_USEINS_STR', 'PROPERTY_SHOWINS', 'PROPERTY_VOICEINS', 'PROPERTY_VOICEINS_STR', 'PROPERTY_VOICEVOL', 'PROPERTY_PHASES', 'PROPERTY_TIMERSIZE', 'PROPERTY_USEMILLI', 'PROPERTY_SMALLADP', 'PROPERTY_SCRSIZE', 'PROPERTY_SCRMONO', 'PROPERTY_SCRLIM', 'PROPERTY_SCRALIGN', 'PROPERTY_SCRALIGN_STR', 'PROPERTY_SCRWRAP', 'PROPERTY_SCRWRAP_STR', 'PROPERTY_SCRNEUT', 'PROPERTY_SCRNEUT_STR', 'PROPERTY_SCREQPR', 'PROPERTY_SCRFAST', 'PROPERTY_SCRKEYM', 'PROPERTY_SCRCLK', 'PROPERTY_SCRCLK_STR', 'PROPERTY_WNDSCR', 'PROPERTY_WNDSTAT', 'PROPERTY_WNDTOOL', 'PROPERTY_WND_STR', 'EXPORT_DATAEXPORT', 'EXPORT_TOFILE', 'EXPORT_FROMFILE', 'EXPORT_TOSERV', 'EXPORT_FROMSERV', 'EXPORT_FROMOTHER', 'EXPORT_USERID', 'EXPORT_INVID', 'EXPORT_ERROR', 'EXPORT_NODATA', 'EXPORT_UPLOADED', 'EXPORT_CODEPROMPT', 'EXPORT_ONLYOPT', 'EXPORT_ACCOUNT', 'EXPORT_LOGINGGL', 'EXPORT_LOGINWCA', 'EXPORT_LOGOUTCFM', 'EXPORT_LOGINAUTHED', 'EXPORT_AEXPALERT', 'EXPORT_WHICH', 'EXPORT_WHICH_ITEM', 'IMPORT_FINAL_CONFIRM', 'BUTTON_SCRAMBLE', 'BUTTON_TOOLS', 'IMAGE_UNAVAILABLE', 'TOOLS_SELECTFUNC', 'TOOLS_CROSS', 'TOOLS_EOLINE', 'TOOLS_ROUX1', 'TOOLS_222FACE', 'TOOLS_GIIKER', 'TOOLS_IMAGE', 'TOOLS_STATS', 'TOOLS_HUGESTATS', 'TOOLS_DISTRIBUTION', 'TOOLS_TREND', 'TOOLS_METRONOME', 'TOOLS_RECONS', 'TOOLS_RECONS_NODATA', 'TOOLS_RECONS_TITLE', 'TOOLS_TRAINSTAT', 'TOOLS_BLDHELPER', 'TOOLS_CFMTIME', 'TOOLS_SOLVERS', 'TOOLS_DLYSTAT', 'TOOLS_DLYSTAT1', 'TOOLS_DLYSTAT_OPT1', 'TOOLS_DLYSTAT_OPT2', 'TOOLS_SYNCSEED', 'TOOLS_SYNCSEED_SEED', 'TOOLS_SYNCSEED_INPUT', 'TOOLS_SYNCSEED_30S', 'TOOLS_SYNCSEED_HELP', 'TOOLS_SYNCSEED_DISABLE', 'TOOLS_SYNCSEED_INPUTA', 'TOOLS_BATTLE', 'TOOLS_BATTLE_HEAD', 'TOOLS_BATTLE_TITLE', 'TOOLS_BATTLE_STATUS', 'TOOLS_BATTLE_INFO', 'TOOLS_BATTLE_JOINALERT', 'TOOLS_BATTLE_LEAVEALERT', 'OLCOMP_UPDATELIST', 'OLCOMP_VIEWRESULT', 'OLCOMP_VIEWMYRESULT', 'OLCOMP_START', 'OLCOMP_SUBMIT', 'OLCOMP_SUBMITAS', 'OLCOMP_WCANOTICE', 'OLCOMP_OLCOMP', 'OLCOMP_ANONYM', 'OLCOMP_ME', 'OLCOMP_WCAACCOUNT', 'OLCOMP_ABORT', 'OLCOMP_WITHANONYM', 'PROPERTY_IMGSIZE', 'PROPERTY_IMGREP', 'TIMER_INSPECT', 'TIMER_SOLVE', 'PROPERTY_USEMOUSE', 'PROPERTY_TIMEU', 'PROPERTY_TIMEU_STR', 'PROPERTY_PRETIME', 'PROPERTY_ENTERING', 'PROPERTY_ENTERING_STR', 'PROPERTY_INTUNIT', 'PROPERTY_INTUNIT_STR', 'PROPERTY_COLOR', 'PROPERTY_COLORS', 'PROPERTY_VIEW', 'PROPERTY_VIEW_STR', 'PROPERTY_UIDESIGN', 'PROPERTY_UIDESIGN_STR', 'COLOR_EXPORT', 'COLOR_IMPORT', 'COLOR_FAIL', 'PROPERTY_FONTCOLOR_STR', 'PROPERTY_COLOR_STR', 'PROPERTY_FONT', 'PROPERTY_FONT_STR', 'PROPERTY_FORMAT', 'PROPERTY_USEKSC', 'PROPERTY_USEGES', 'PROPERTY_NTOOLS', 'PROPERTY_AHIDE', 'SCRAMBLE_LAST', 'SCRAMBLE_NEXT', 'SCRAMBLE_SCRAMBLE', 'SCRAMBLE_SCRAMBLING', 'SCRAMBLE_LENGTH', 'SCRAMBLE_INPUT', 'SCRAMBLE_INPUTTYPE', 'PROPERTY_VRCSPEED', 'PROPERTY_VRCORI', 'PROPERTY_VRCMP', 'PROPERTY_VRCMPS', 'PROPERTY_GIIKERVRC', 'PROPERTY_GIISOK_DELAY', 'PROPERTY_GIISOK_DELAYS', 'PROPERTY_GIISOK_KEY', 'PROPERTY_GIISOK_MOVE', 'PROPERTY_GIISOK_MOVES', 'PROPERTY_GIISBEEP', 'PROPERTY_GIIRST', 'PROPERTY_GIIRSTS', 'PROPERTY_GIIMODE', 'PROPERTY_GIIMODES', 'PROPERTY_VRCAH', 'PROPERTY_VRCAHS', 'CONFIRM_GIIRST', 'PROPERTY_GIIAED', 'scrdata', 'SCRAMBLE_NOOBST', 'SCRAMBLE_NOOBSS', 'SCROPT_TITLE', 'SCROPT_BTNALL', 'SCROPT_BTNNONE', 'SCROPT_EMPTYALT', 'STATS_CFM_RESET', 'STATS_CFM_DELSS', 'STATS_CFM_DELMUL', 'STATS_CFM_DELETE', 'STATS_COMMENT', 'STATS_REVIEW', 'STATS_DATE', 'STATS_SSSTAT', 'STATS_SSRETRY', 'STATS_CURROUND', 'STATS_CURSESSION', 'STATS_CURSPLIT', 'STATS_EXPORTCSV', 'STATS_SSMGR_TITLE', 'STATS_SSMGR_NAME', 'STATS_SSMGR_DETAIL', 'STATS_SSMGR_OPS', 'STATS_SSMGR_ORDER', 'STATS_SSMGR_ODCFM', 'STATS_SSMGR_SORTCFM', 'STATS_ALERTMG', 'STATS_PROMPTSPL', 'STATS_ALERTSPL', 'STATS_AVG', 'STATS_SUM', 'STATS_SOLVE', 'STATS_TIME', 'STATS_SESSION', 'STATS_SESSION_NAME', 'STATS_SESSION_NAMEC', 'STATS_STRING', 'STATS_PREC', 'STATS_PREC_STR', 'STATS_TYPELEN', 'STATS_STATCLR', 'STATS_ABSIDX', 'STATS_XSESSION_DATE', 'STATS_XSESSION_NAME', 'STATS_XSESSION_SCR', 'STATS_XSESSION_CALC', 'STATS_RSFORSS', 'PROPERTY_PRINTSCR', 'PROPERTY_PRINTCOMM', 'PROPERTY_PRINTDATE', 'PROPERTY_SUMMARY', 'PROPERTY_IMRENAME', 'PROPERTY_SCR2SS', 'PROPERTY_SS2SCR', 'PROPERTY_SS2PHASES', 'PROPERTY_STATINV', 'PROPERTY_STATSSUM', 'PROPERTY_STATTHRES', 'PROPERTY_STATBPA', 'PROPERTY_STATWPA', 'PROPERTY_STATAL', 'PROPERTY_STATALU', 'PROPERTY_HLPBS', 'PROPERTY_HLPBS_STR', 'PROPERTY_DELMUL', 'PROPERTY_TOOLSFUNC', 'PROPERTY_TRIM', 'PROPERTY_TRIMR', 'PROPERTY_TRIM_MED', 'PROPERTY_STKHEAD', 'PROPERTY_TOOLPOS', 'PROPERTY_TOOLPOS_STR', 'PROPERTY_HIDEFULLSOL', 'PROPERTY_IMPPREV', 'PROPERTY_AUTOEXP', 'PROPERTY_AUTOEXP_OPT', 'PROPERTY_SCRASIZE', 'MODULE_NAMES', 'BGIMAGE_URL', 'BGIMAGE_INVALID', 'BGIMAGE_OPACITY', 'BGIMAGE_IMAGE', 'BGIMAGE_IMAGE_STR', 'SHOW_AVG_LABEL', 'SHOW_DIFF_LABEL', 'SHOW_DIFF_LABEL_STR', 'USE_LOGOHINT', 'TOOLS_SCRGEN', 'SCRGEN_NSCR', 'SCRGEN_PRE', 'SCRGEN_GEN', 'VRCREPLAY_TITLE', 'VRCREPLAY_ORI', 'VRCREPLAY_SHARE', 'GIIKER_CONNECT', 'GIIKER_RESET', 'GIIKER_REQMACMSG', 'GIIKER_NOBLEMSG', 'PROPERTY_SHOWAD', 'PROPERTY_GIIORI', 'LGHINT_INVALID', 'LGHINT_NETERR', 'LGHINT_SERVERR', 'LGHINT_SUBMITED', 'LGHINT_SSBEST', 'LGHINT_SCRCOPY', 'LGHINT_LINKCOPY', 'LGHINT_SOLVCOPY', 'LGHINT_SORT0', 'LGHINT_IMPORTED', 'LGHINT_IMPORT0', 'LGHINT_BTCONSUC', 'LGHINT_BTDISCON', 'LGHINT_BTNOTSUP', 'LGHINT_BTINVMAC', 'LGHINT_AEXPABT', 'LGHINT_AEXPSUC', 'LGHINT_AEXPFAL']; + var constants = ['CSTIMER_VERSION', 'LANG_SET', 'LANG_STR', 'LANG_CUR', 'OK_LANG', 'CANCEL_LANG', 'RESET_LANG', 'ABOUT_LANG', 'ZOOM_LANG', 'COPY_LANG', 'BUTTON_TIME_LIST', 'BUTTON_OPTIONS', 'BUTTON_EXPORT', 'BUTTON_DONATE', 'PROPERTY_SR', 'PROPERTY_USEINS', 'PROPERTY_USEINS_STR', 'PROPERTY_SHOWINS', 'PROPERTY_VOICEINS', 'PROPERTY_VOICEINS_STR', 'PROPERTY_VOICEVOL', 'PROPERTY_PHASES', 'PROPERTY_TIMERSIZE', 'PROPERTY_USEMILLI', 'PROPERTY_SMALLADP', 'PROPERTY_SCRSIZE', 'PROPERTY_SCRMONO', 'PROPERTY_SCRLIM', 'PROPERTY_SCRALIGN', 'PROPERTY_SCRALIGN_STR', 'PROPERTY_SCRWRAP', 'PROPERTY_SCRWRAP_STR', 'PROPERTY_SCRNEUT', 'PROPERTY_SCRNEUT_STR', 'PROPERTY_SCREQPR', 'PROPERTY_SCRFAST', 'PROPERTY_SCRKEYM', 'PROPERTY_SCRCLK', 'PROPERTY_SCRCLK_STR', 'PROPERTY_WNDSCR', 'PROPERTY_WNDSTAT', 'PROPERTY_WNDTOOL', 'PROPERTY_WND_STR', 'EXPORT_DATAEXPORT', 'EXPORT_TOFILE', 'EXPORT_FROMFILE', 'EXPORT_TOSERV', 'EXPORT_FROMSERV', 'EXPORT_FROMOTHER', 'EXPORT_USERID', 'EXPORT_INVID', 'EXPORT_ERROR', 'EXPORT_NODATA', 'EXPORT_UPLOADED', 'EXPORT_CODEPROMPT', 'EXPORT_ONLYOPT', 'EXPORT_ACCOUNT', 'EXPORT_LOGINGGL', 'EXPORT_LOGINWCA', 'EXPORT_LOGOUTCFM', 'EXPORT_LOGINAUTHED', 'EXPORT_AEXPALERT', 'EXPORT_WHICH', 'EXPORT_WHICH_ITEM', 'IMPORT_FINAL_CONFIRM', 'BUTTON_SCRAMBLE', 'BUTTON_TOOLS', 'IMAGE_UNAVAILABLE', 'TOOLS_SELECTFUNC', 'TOOLS_CROSS', 'TOOLS_EOLINE', 'TOOLS_ROUX1', 'TOOLS_222FACE', 'TOOLS_GIIKER', 'TOOLS_IMAGE', 'TOOLS_STATS', 'TOOLS_HUGESTATS', 'TOOLS_DISTRIBUTION', 'TOOLS_TREND', 'TOOLS_METRONOME', 'TOOLS_RECONS', 'TOOLS_RECONS_NODATA', 'TOOLS_RECONS_TITLE', 'TOOLS_TRAINSTAT', 'TOOLS_BLDHELPER', 'TOOLS_CFMTIME', 'TOOLS_SOLVERS', 'TOOLS_DLYSTAT', 'TOOLS_DLYSTAT1', 'TOOLS_DLYSTAT_OPT1', 'TOOLS_DLYSTAT_OPT2', 'TOOLS_SYNCSEED', 'TOOLS_SYNCSEED_SEED', 'TOOLS_SYNCSEED_INPUT', 'TOOLS_SYNCSEED_30S', 'TOOLS_SYNCSEED_HELP', 'TOOLS_SYNCSEED_DISABLE', 'TOOLS_SYNCSEED_INPUTA', 'TOOLS_BATTLE', 'TOOLS_BATTLE_HEAD', 'TOOLS_BATTLE_TITLE', 'TOOLS_BATTLE_STATUS', 'TOOLS_BATTLE_INFO', 'TOOLS_BATTLE_JOINALERT', 'TOOLS_BATTLE_LEAVEALERT', 'OLCOMP_UPDATELIST', 'OLCOMP_VIEWRESULT', 'OLCOMP_VIEWMYRESULT', 'OLCOMP_START', 'OLCOMP_SUBMIT', 'OLCOMP_SUBMITAS', 'OLCOMP_WCANOTICE', 'OLCOMP_OLCOMP', 'OLCOMP_ANONYM', 'OLCOMP_ME', 'OLCOMP_WCAACCOUNT', 'OLCOMP_ABORT', 'OLCOMP_WITHANONYM', 'PROPERTY_IMGSIZE', 'PROPERTY_IMGREP', 'TIMER_INSPECT', 'TIMER_SOLVE', 'PROPERTY_USEMOUSE', 'PROPERTY_TIMEU', 'PROPERTY_TIMEU_STR', 'PROPERTY_PRETIME', 'PROPERTY_ENTERING', 'PROPERTY_ENTERING_STR', 'PROPERTY_INTUNIT', 'PROPERTY_INTUNIT_STR', 'PROPERTY_COLOR', 'PROPERTY_COLORS', 'PROPERTY_VIEW', 'PROPERTY_VIEW_STR', 'PROPERTY_UIDESIGN', 'PROPERTY_UIDESIGN_STR', 'COLOR_EXPORT', 'COLOR_IMPORT', 'COLOR_FAIL', 'PROPERTY_FONTCOLOR_STR', 'PROPERTY_COLOR_STR', 'PROPERTY_FONT', 'PROPERTY_FONT_STR', 'PROPERTY_FORMAT', 'PROPERTY_USEKSC', 'PROPERTY_USEGES', 'PROPERTY_NTOOLS', 'PROPERTY_AHIDE', 'SCRAMBLE_LAST', 'SCRAMBLE_NEXT', 'SCRAMBLE_SCRAMBLE', 'SCRAMBLE_SCRAMBLING', 'SCRAMBLE_LENGTH', 'SCRAMBLE_INPUT', 'SCRAMBLE_INPUTTYPE', 'PROPERTY_VRCSPEED', 'PROPERTY_VRCORI', 'PROPERTY_VRCMP', 'PROPERTY_VRCMPS', 'PROPERTY_GIIKERVRC', 'PROPERTY_GIISOK_DELAY', 'PROPERTY_GIISOK_DELAYS', 'PROPERTY_GIISOK_KEY', 'PROPERTY_GIISOK_MOVE', 'PROPERTY_GIISOK_MOVES', 'PROPERTY_GIISBEEP', 'PROPERTY_GIIRST', 'PROPERTY_GIIRSTS', 'PROPERTY_GIIMODE', 'PROPERTY_GIIMODES', 'PROPERTY_VRCAH', 'PROPERTY_VRCAHS', 'CONFIRM_GIIRST', 'PROPERTY_GIIAED', 'scrdata', 'SCRAMBLE_NOOBST', 'SCRAMBLE_NOOBSS', 'SCROPT_TITLE', 'SCROPT_BTNALL', 'SCROPT_BTNNONE', 'SCROPT_EMPTYALT', 'STATS_CFM_RESET', 'STATS_CFM_DELSS', 'STATS_CFM_DELMUL', 'STATS_CFM_DELETE', 'STATS_COMMENT', 'STATS_REVIEW', 'STATS_DATE', 'STATS_SSSTAT', 'STATS_SSRETRY', 'STATS_CURROUND', 'STATS_CURSESSION', 'STATS_CURSPLIT', 'STATS_EXPORTCSV', 'STATS_SSMGR_TITLE', 'STATS_SSMGR_NAME', 'STATS_SSMGR_DETAIL', 'STATS_SSMGR_OPS', 'STATS_SSMGR_ORDER', 'STATS_SSMGR_ODCFM', 'STATS_SSMGR_SORTCFM', 'STATS_ALERTMG', 'STATS_PROMPTSPL', 'STATS_ALERTSPL', 'STATS_AVG', 'STATS_SUM', 'STATS_SOLVE', 'STATS_TIME', 'STATS_SESSION', 'STATS_SESSION_NAME', 'STATS_SESSION_NAMEC', 'STATS_STRING', 'STATS_PREC', 'STATS_PREC_STR', 'STATS_TYPELEN', 'STATS_STATCLR', 'STATS_ABSIDX', 'STATS_XSESSION_DATE', 'STATS_XSESSION_NAME', 'STATS_XSESSION_SCR', 'STATS_XSESSION_CALC', 'STATS_RSFORSS', 'PROPERTY_PRINTSCR', 'PROPERTY_PRINTCOMM', 'PROPERTY_PRINTDATE', 'PROPERTY_SUMMARY', 'PROPERTY_IMRENAME', 'PROPERTY_SCR2SS', 'PROPERTY_SS2SCR', 'PROPERTY_SS2PHASES', 'PROPERTY_STATINV', 'PROPERTY_STATSSUM', 'PROPERTY_STATTHRES', 'PROPERTY_STATBPA', 'PROPERTY_STATWPA', 'PROPERTY_STATAL', 'PROPERTY_STATALU', 'PROPERTY_HLPBS', 'PROPERTY_HLPBS_STR', 'PROPERTY_DELMUL', 'PROPERTY_TOOLSFUNC', 'PROPERTY_TRIM', 'PROPERTY_TRIMR', 'PROPERTY_TRIM_MED', 'PROPERTY_STKHEAD', 'PROPERTY_TOOLPOS', 'PROPERTY_TOOLPOS_STR', 'PROPERTY_HIDEFULLSOL', 'PROPERTY_IMPPREV', 'PROPERTY_AUTOEXP', 'PROPERTY_AUTOEXP_OPT', 'PROPERTY_SCRASIZE', 'MODULE_NAMES', 'BGIMAGE_URL', 'BGIMAGE_INVALID', 'BGIMAGE_OPACITY', 'BGIMAGE_IMAGE', 'BGIMAGE_IMAGE_STR', 'SHOW_AVG_LABEL', 'SHOW_DIFF_LABEL', 'SHOW_DIFF_LABEL_STR', 'USE_LOGOHINT', 'TOOLS_SCRGEN', 'SCRGEN_NSCR', 'SCRGEN_PRE', 'SCRGEN_GEN', 'VRCREPLAY_TITLE', 'VRCREPLAY_ORI', 'VRCREPLAY_SHARE', 'GIIKER_CONNECT', 'GIIKER_RESET', 'GIIKER_REQMACMSG', 'GIIKER_NOBLEMSG', 'PROPERTY_SHOWAD', 'PROPERTY_GIIORI', 'LGHINT_INVALID', 'LGHINT_NETERR', 'LGHINT_SERVERR', 'LGHINT_SUBMITED', 'LGHINT_SSBEST', 'LGHINT_SCRCOPY', 'LGHINT_LINKCOPY', 'LGHINT_SOLVCOPY', 'LGHINT_SORT0', 'LGHINT_IMPORTED', 'LGHINT_IMPORT0', 'LGHINT_BTCONSUC', 'LGHINT_BTDISCON', 'LGHINT_BTNOTSUP', 'LGHINT_BTINVMAC', 'LGHINT_AEXPABT', 'LGHINT_AEXPSUC', 'LGHINT_AEXPFAL', 'EASY_SCRAMBLE_HINT']; for (var i = 0; i < constants.length; i++) { window[constants[i]] = window[constants[i]] || '|||||||||||||||'; } diff --git a/src/js/scramble/scramble.js b/src/js/scramble/scramble.js index af5067bf..49bd5923 100644 --- a/src/js/scramble/scramble.js +++ b/src/js/scramble/scramble.js @@ -163,12 +163,17 @@ var scramble = ISCSTIMER && execMain(function(rn, rndEl) { var scrFltSelAll = $('').val(SCROPT_BTNALL); var scrFltSelNon = $('').val(SCROPT_BTNNONE); var scrLen = $(''); + var scrHelp = $(''); var sdiv = $('
'); var ssdiv = $('
'); var alias = { '333oh': '333', '333ft': '333' }; + var helpMsg = { + 'easyc': EASY_SCRAMBLE_HINT, + 'easyxc': EASY_SCRAMBLE_HINT + }; var scrFlt = ""; var scrTPRe = /^\$T([a-zA-Z0-9]+)(-[0-9]+)?\$\s*(.*)$/; @@ -531,6 +536,11 @@ var scramble = ISCSTIMER && execMain(function(rn, rndEl) { scrLen.val(Math.abs(len)); scrLen[0].disabled = len <= 0; var curType = menu.getSelected(); + if (curType in helpMsg) { + scrHelp.text(helpMsg[curType]).show(); + } else { + scrHelp.hide(); + } scrFlt = JSON.parse(kernel.getProp('scrFlt', JSON.stringify([curType, getExtra(curType, 0)]))); scrOpt[0].disabled = scrLen[0].disabled && !getExtra(curType, 0); if (scrFlt[0] != curType) { @@ -876,7 +886,7 @@ var scramble = ISCSTIMER && execMain(function(rn, rndEl) { scrLen.change(genScramble); scrOpt.click(showScrOpt); - scrOptDiv.append($('
').append(SCRAMBLE_LENGTH + ': ', scrLen), scrFltDiv); + scrOptDiv.append($('
').append(SCRAMBLE_LENGTH + ': ', scrLen), scrHelp, scrFltDiv); title.append($('').append(selects[0], ' ', selects[1], ' ', scrOpt), " "); title.append($('').append(lastClick, '/', nextClick, SCRAMBLE_SCRAMBLE)); diff --git a/src/js/tools/cross.js b/src/js/tools/cross.js index c720f25a..67f081af 100644 --- a/src/js/tools/cross.js +++ b/src/js/tools/cross.js @@ -365,8 +365,12 @@ var cross = (function(createMove, edgeMove, createPrun, setNPerm, getNPerm, Cnk, function getEasyXCross(length) { fullInit(); xinit(); + var lenA = length % 10; + var lenB = ~~(length / 10); + var minLen = Math.min(lenA, lenB, 8); + var maxLen = Math.max(lenA, lenB); var ncase = [1, 16, 174, 1568, 11377, 57758, 155012, 189978, 190080]; - length = Math.max(0, Math.min(length, 8)); + length = Math.max(0, Math.min(maxLen, 8)); // cross length var remain = ncase[length]; var isFound = false; var testCnt = 0; @@ -416,10 +420,13 @@ var cross = (function(createMove, edgeMove, createPrun, setNPerm, getNPerm, Cnk, for (var j = 0; j < 4; j++) { corns[j] = corns[j] * 3 + mathlib.rn(3); edges[j] = arr.indexOf(j) * 2 + mathlib.rn(2); - if (isFound) { + var sol = solvXCross.solve([perm, flip, edges[j], corns[j], j], 0, isFound ? minLen - 1 : maxLen); + if (sol == null) { continue; - } - if (null != solvXCross.solve([perm, flip, edges[j], corns[j], j], 0, length)) { + } else if (sol.length < minLen) { + isFound = false; // too short + break; + } else if (sol.length <= maxLen) { isFound = true; } } diff --git a/src/lang/ar-sa.js b/src/lang/ar-sa.js index 872c6cd5..dd7aeaa7 100644 --- a/src/lang/ar-sa.js +++ b/src/lang/ar-sa.js @@ -617,3 +617,4 @@ var LGHINT_BTINVMAC = 'Not a valid mac address, cannot connect to your smart cub var LGHINT_AEXPABT = 'Auto export abort'; var LGHINT_AEXPSUC = 'Auto export success'; var LGHINT_AEXPFAL = 'Auto export failed'; +var EASY_SCRAMBLE_HINT = 'Change length to limit upper bound of solution length, input 2 digits to limit both lower (>= 8) and upper bound'; diff --git a/src/lang/ca-es.js b/src/lang/ca-es.js index 281591b3..69c5310b 100644 --- a/src/lang/ca-es.js +++ b/src/lang/ca-es.js @@ -617,3 +617,4 @@ var LGHINT_BTINVMAC = 'Not a valid mac address, cannot connect to your smart cub var LGHINT_AEXPABT = 'Auto export abort'; var LGHINT_AEXPSUC = 'Auto export success'; var LGHINT_AEXPFAL = 'Auto export failed'; +var EASY_SCRAMBLE_HINT = 'Change length to limit upper bound of solution length, input 2 digits to limit both lower (>= 8) and upper bound'; diff --git a/src/lang/cs-cz.js b/src/lang/cs-cz.js index ff5328c9..41f2f21b 100644 --- a/src/lang/cs-cz.js +++ b/src/lang/cs-cz.js @@ -617,3 +617,4 @@ var LGHINT_BTINVMAC = 'Not a valid mac address, cannot connect to your smart cub var LGHINT_AEXPABT = 'Auto export abort'; var LGHINT_AEXPSUC = 'Auto export success'; var LGHINT_AEXPFAL = 'Auto export failed'; +var EASY_SCRAMBLE_HINT = 'Change length to limit upper bound of solution length, input 2 digits to limit both lower (>= 8) and upper bound'; diff --git a/src/lang/da-dk.js b/src/lang/da-dk.js index f05f9122..6e018f68 100644 --- a/src/lang/da-dk.js +++ b/src/lang/da-dk.js @@ -617,3 +617,4 @@ var LGHINT_BTINVMAC = 'Not a valid mac address, cannot connect to your smart cub var LGHINT_AEXPABT = 'Auto export abort'; var LGHINT_AEXPSUC = 'Auto export success'; var LGHINT_AEXPFAL = 'Auto export failed'; +var EASY_SCRAMBLE_HINT = 'Change length to limit upper bound of solution length, input 2 digits to limit both lower (>= 8) and upper bound'; diff --git a/src/lang/de-de.js b/src/lang/de-de.js index d4a79441..2a9be821 100644 --- a/src/lang/de-de.js +++ b/src/lang/de-de.js @@ -617,3 +617,4 @@ var LGHINT_BTINVMAC = 'Ungültige MAC-Adresse, es kann keine Verbindung zum Smar var LGHINT_AEXPABT = 'Automatischer Export abgebrochen'; var LGHINT_AEXPSUC = 'Automatischer Export erfolgreich'; var LGHINT_AEXPFAL = 'Automatischer Export fehlgeschlagen'; +var EASY_SCRAMBLE_HINT = 'Change length to limit upper bound of solution length, input 2 digits to limit both lower (>= 8) and upper bound'; diff --git a/src/lang/el-gr.js b/src/lang/el-gr.js index 4df63d74..d5b67df7 100644 --- a/src/lang/el-gr.js +++ b/src/lang/el-gr.js @@ -617,3 +617,4 @@ var LGHINT_BTINVMAC = 'Not a valid mac address, cannot connect to your smart cub var LGHINT_AEXPABT = 'Auto export abort'; var LGHINT_AEXPSUC = 'Auto export success'; var LGHINT_AEXPFAL = 'Auto export failed'; +var EASY_SCRAMBLE_HINT = 'Change length to limit upper bound of solution length, input 2 digits to limit both lower (>= 8) and upper bound'; diff --git a/src/lang/en-us.js b/src/lang/en-us.js index 455e8487..d81d8b8b 100644 --- a/src/lang/en-us.js +++ b/src/lang/en-us.js @@ -617,3 +617,4 @@ var LGHINT_BTINVMAC = 'Not a valid mac address, cannot connect to your smart cub var LGHINT_AEXPABT = 'Auto export abort'; var LGHINT_AEXPSUC = 'Auto export success'; var LGHINT_AEXPFAL = 'Auto export failed'; +var EASY_SCRAMBLE_HINT = 'Change length to limit upper bound of solution length, input 2 digits to limit both lower (>= 8) and upper bound'; diff --git a/src/lang/es-es.js b/src/lang/es-es.js index f75348a0..f72a1f21 100644 --- a/src/lang/es-es.js +++ b/src/lang/es-es.js @@ -617,3 +617,4 @@ var LGHINT_BTINVMAC = 'Not a valid mac address, cannot connect to your smart cub var LGHINT_AEXPABT = 'Auto export abort'; var LGHINT_AEXPSUC = 'Auto export success'; var LGHINT_AEXPFAL = 'Auto export failed'; +var EASY_SCRAMBLE_HINT = 'Change length to limit upper bound of solution length, input 2 digits to limit both lower (>= 8) and upper bound'; diff --git a/src/lang/fa-ir.js b/src/lang/fa-ir.js index 30efb3c1..419ec0f2 100644 --- a/src/lang/fa-ir.js +++ b/src/lang/fa-ir.js @@ -617,3 +617,4 @@ var LGHINT_BTINVMAC = 'Not a valid mac address, cannot connect to your smart cub var LGHINT_AEXPABT = 'Auto export abort'; var LGHINT_AEXPSUC = 'Auto export success'; var LGHINT_AEXPFAL = 'Auto export failed'; +var EASY_SCRAMBLE_HINT = 'Change length to limit upper bound of solution length, input 2 digits to limit both lower (>= 8) and upper bound'; diff --git a/src/lang/fi-fi.js b/src/lang/fi-fi.js index 3ef3d587..eecc0763 100644 --- a/src/lang/fi-fi.js +++ b/src/lang/fi-fi.js @@ -617,3 +617,4 @@ var LGHINT_BTINVMAC = 'Not a valid mac address, cannot connect to your smart cub var LGHINT_AEXPABT = 'Auto export abort'; var LGHINT_AEXPSUC = 'Auto export success'; var LGHINT_AEXPFAL = 'Auto export failed'; +var EASY_SCRAMBLE_HINT = 'Change length to limit upper bound of solution length, input 2 digits to limit both lower (>= 8) and upper bound'; diff --git a/src/lang/fr-fr.js b/src/lang/fr-fr.js index 28f7656b..5af7fa0d 100644 --- a/src/lang/fr-fr.js +++ b/src/lang/fr-fr.js @@ -617,3 +617,4 @@ var LGHINT_BTINVMAC = 'Adresse mac invalide, la connexion à votre smart cube es var LGHINT_AEXPABT = 'Export automatique interrompu'; var LGHINT_AEXPSUC = 'Export automatique réussi'; var LGHINT_AEXPFAL = 'Échec de l\'export automatique'; +var EASY_SCRAMBLE_HINT = 'Change length to limit upper bound of solution length, input 2 digits to limit both lower (>= 8) and upper bound'; diff --git a/src/lang/he-il.js b/src/lang/he-il.js index 19df6490..57f2ba4a 100644 --- a/src/lang/he-il.js +++ b/src/lang/he-il.js @@ -617,3 +617,4 @@ var LGHINT_BTINVMAC = 'Not a valid mac address, cannot connect to your smart cub var LGHINT_AEXPABT = 'Auto export abort'; var LGHINT_AEXPSUC = 'Auto export success'; var LGHINT_AEXPFAL = 'Auto export failed'; +var EASY_SCRAMBLE_HINT = 'Change length to limit upper bound of solution length, input 2 digits to limit both lower (>= 8) and upper bound'; diff --git a/src/lang/hi-in.js b/src/lang/hi-in.js index 327da597..4476fae2 100644 --- a/src/lang/hi-in.js +++ b/src/lang/hi-in.js @@ -617,3 +617,4 @@ var LGHINT_BTINVMAC = 'Not a valid mac address, cannot connect to your smart cub var LGHINT_AEXPABT = 'Auto export abort'; var LGHINT_AEXPSUC = 'Auto export success'; var LGHINT_AEXPFAL = 'Auto export failed'; +var EASY_SCRAMBLE_HINT = 'Change length to limit upper bound of solution length, input 2 digits to limit both lower (>= 8) and upper bound'; diff --git a/src/lang/hr-hr.js b/src/lang/hr-hr.js index 31359a26..b22ca872 100644 --- a/src/lang/hr-hr.js +++ b/src/lang/hr-hr.js @@ -617,3 +617,4 @@ var LGHINT_BTINVMAC = 'Not a valid mac address, cannot connect to your smart cub var LGHINT_AEXPABT = 'Auto export abort'; var LGHINT_AEXPSUC = 'Auto export success'; var LGHINT_AEXPFAL = 'Auto export failed'; +var EASY_SCRAMBLE_HINT = 'Change length to limit upper bound of solution length, input 2 digits to limit both lower (>= 8) and upper bound'; diff --git a/src/lang/hu-hu.js b/src/lang/hu-hu.js index a3c0930b..6273086c 100644 --- a/src/lang/hu-hu.js +++ b/src/lang/hu-hu.js @@ -617,3 +617,4 @@ var LGHINT_BTINVMAC = 'Not a valid mac address, cannot connect to your smart cub var LGHINT_AEXPABT = 'Auto export abort'; var LGHINT_AEXPSUC = 'Auto export success'; var LGHINT_AEXPFAL = 'Auto export failed'; +var EASY_SCRAMBLE_HINT = 'Change length to limit upper bound of solution length, input 2 digits to limit both lower (>= 8) and upper bound'; diff --git a/src/lang/it-it.js b/src/lang/it-it.js index 7d7f2bea..7ca08d41 100644 --- a/src/lang/it-it.js +++ b/src/lang/it-it.js @@ -617,3 +617,4 @@ var LGHINT_BTINVMAC = 'Not a valid mac address, cannot connect to your smart cub var LGHINT_AEXPABT = 'Auto export abort'; var LGHINT_AEXPSUC = 'Auto export success'; var LGHINT_AEXPFAL = 'Auto export failed'; +var EASY_SCRAMBLE_HINT = 'Change length to limit upper bound of solution length, input 2 digits to limit both lower (>= 8) and upper bound'; diff --git a/src/lang/ja-jp.js b/src/lang/ja-jp.js index bcb777fc..f8942188 100644 --- a/src/lang/ja-jp.js +++ b/src/lang/ja-jp.js @@ -617,3 +617,4 @@ var LGHINT_BTINVMAC = 'Not a valid mac address, cannot connect to your smart cub var LGHINT_AEXPABT = 'Auto export abort'; var LGHINT_AEXPSUC = 'Auto export success'; var LGHINT_AEXPFAL = 'Auto export failed'; +var EASY_SCRAMBLE_HINT = 'Change length to limit upper bound of solution length, input 2 digits to limit both lower (>= 8) and upper bound'; diff --git a/src/lang/ko-kr.js b/src/lang/ko-kr.js index 928d0600..72082a8b 100644 --- a/src/lang/ko-kr.js +++ b/src/lang/ko-kr.js @@ -617,3 +617,4 @@ var LGHINT_BTINVMAC = 'Not a valid mac address, cannot connect to your smart cub var LGHINT_AEXPABT = 'Auto export abort'; var LGHINT_AEXPSUC = 'Auto export success'; var LGHINT_AEXPFAL = 'Auto export failed'; +var EASY_SCRAMBLE_HINT = 'Change length to limit upper bound of solution length, input 2 digits to limit both lower (>= 8) and upper bound'; diff --git a/src/lang/langDet.php b/src/lang/langDet.php index e2484bef..1825226a 100644 --- a/src/lang/langDet.php +++ b/src/lang/langDet.php @@ -1,5 +1,5 @@ = 8) and upper bound'; diff --git a/src/lang/nl-nl.js b/src/lang/nl-nl.js index 11c8b7fa..24cc470f 100644 --- a/src/lang/nl-nl.js +++ b/src/lang/nl-nl.js @@ -617,3 +617,4 @@ var LGHINT_BTINVMAC = 'Not a valid mac address, cannot connect to your smart cub var LGHINT_AEXPABT = 'Auto export abort'; var LGHINT_AEXPSUC = 'Auto export success'; var LGHINT_AEXPFAL = 'Auto export failed'; +var EASY_SCRAMBLE_HINT = 'Change length to limit upper bound of solution length, input 2 digits to limit both lower (>= 8) and upper bound'; diff --git a/src/lang/no-no.js b/src/lang/no-no.js index 82fe402f..18a3d8df 100644 --- a/src/lang/no-no.js +++ b/src/lang/no-no.js @@ -617,3 +617,4 @@ var LGHINT_BTINVMAC = 'Not a valid mac address, cannot connect to your smart cub var LGHINT_AEXPABT = 'Auto export abort'; var LGHINT_AEXPSUC = 'Auto export success'; var LGHINT_AEXPFAL = 'Auto export failed'; +var EASY_SCRAMBLE_HINT = 'Change length to limit upper bound of solution length, input 2 digits to limit both lower (>= 8) and upper bound'; diff --git a/src/lang/pl-pl.js b/src/lang/pl-pl.js index e04c1eef..e3dfe217 100644 --- a/src/lang/pl-pl.js +++ b/src/lang/pl-pl.js @@ -617,3 +617,4 @@ var LGHINT_BTINVMAC = 'Not a valid mac address, cannot connect to your smart cub var LGHINT_AEXPABT = 'Auto export abort'; var LGHINT_AEXPSUC = 'Auto export success'; var LGHINT_AEXPFAL = 'Auto export failed'; +var EASY_SCRAMBLE_HINT = 'Change length to limit upper bound of solution length, input 2 digits to limit both lower (>= 8) and upper bound'; diff --git a/src/lang/pt-pt.js b/src/lang/pt-pt.js index 7d582cee..ec57bd62 100644 --- a/src/lang/pt-pt.js +++ b/src/lang/pt-pt.js @@ -617,3 +617,4 @@ var LGHINT_BTINVMAC = 'Not a valid mac address, cannot connect to your smart cub var LGHINT_AEXPABT = 'Auto export abort'; var LGHINT_AEXPSUC = 'Auto export success'; var LGHINT_AEXPFAL = 'Auto export failed'; +var EASY_SCRAMBLE_HINT = 'Change length to limit upper bound of solution length, input 2 digits to limit both lower (>= 8) and upper bound'; diff --git a/src/lang/ro-ro.js b/src/lang/ro-ro.js index abd11e3c..a3bb1965 100644 --- a/src/lang/ro-ro.js +++ b/src/lang/ro-ro.js @@ -617,3 +617,4 @@ var LGHINT_BTINVMAC = 'Not a valid mac address, cannot connect to your smart cub var LGHINT_AEXPABT = 'Auto export abort'; var LGHINT_AEXPSUC = 'Auto export success'; var LGHINT_AEXPFAL = 'Auto export failed'; +var EASY_SCRAMBLE_HINT = 'Change length to limit upper bound of solution length, input 2 digits to limit both lower (>= 8) and upper bound'; diff --git a/src/lang/ru-ru.js b/src/lang/ru-ru.js index c0239cb7..3cd52e2b 100644 --- a/src/lang/ru-ru.js +++ b/src/lang/ru-ru.js @@ -617,3 +617,4 @@ var LGHINT_BTINVMAC = 'Not a valid mac address, cannot connect to your smart cub var LGHINT_AEXPABT = 'Auto export abort'; var LGHINT_AEXPSUC = 'Auto export success'; var LGHINT_AEXPFAL = 'Auto export failed'; +var EASY_SCRAMBLE_HINT = 'Change length to limit upper bound of solution length, input 2 digits to limit both lower (>= 8) and upper bound'; diff --git a/src/lang/sk-sk.js b/src/lang/sk-sk.js index 251aee18..97539430 100644 --- a/src/lang/sk-sk.js +++ b/src/lang/sk-sk.js @@ -617,3 +617,4 @@ var LGHINT_BTINVMAC = 'Not a valid mac address, cannot connect to your smart cub var LGHINT_AEXPABT = 'Auto export abort'; var LGHINT_AEXPSUC = 'Auto export success'; var LGHINT_AEXPFAL = 'Auto export failed'; +var EASY_SCRAMBLE_HINT = 'Change length to limit upper bound of solution length, input 2 digits to limit both lower (>= 8) and upper bound'; diff --git a/src/lang/sl-si.js b/src/lang/sl-si.js index dbe5febd..e111ef89 100644 --- a/src/lang/sl-si.js +++ b/src/lang/sl-si.js @@ -56,7 +56,7 @@ var EXPORT_LOGINWCA = 'Login Using WCA Account'; var EXPORT_LOGOUTCFM = 'Confirm to log out?'; var EXPORT_LOGINAUTHED = 'Authorized
Fetching Data...'; var EXPORT_AEXPALERT = 'More than %d solves since last backup'; -var EXPORT_WHICH = 'You have %d file(s), which one should be imported?'; +var EXPORT_WHICH = 'Imaš %d datotek, katero naj uvozimo'; var EXPORT_WHICH_ITEM = '%s solve(s), uploaded at %t'; var IMPORT_FINAL_CONFIRM = 'This will override all local data! It will modify %d sessions, add %a and remove %r solves at least. Confirm to import data?'; var BUTTON_SCRAMBLE = 'SCRA-
MBLE'; @@ -69,11 +69,11 @@ var TOOLS_ROUX1 = 'Roux S1'; var TOOLS_222FACE = '2x2x2 face'; var TOOLS_GIIKER = 'Bluetooth Kocka'; var TOOLS_IMAGE = 'draw scramble'; -var TOOLS_STATS = 'Statistics'; +var TOOLS_STATS = 'Statistika'; var TOOLS_HUGESTATS = 'cross-session stats'; var TOOLS_DISTRIBUTION = 'Časovna distribucija'; var TOOLS_TREND = 'Časovni trend'; -var TOOLS_METRONOME = 'metronome'; +var TOOLS_METRONOME = 'metronom'; var TOOLS_RECONS = 'Rekonstrukcija'; var TOOLS_RECONS_NODATA = 'No solution found.'; var TOOLS_RECONS_TITLE = 'insp|exec|turn|tps'; @@ -142,7 +142,7 @@ var PROPERTY_USEKSC = 'use keyboard shortcut'; var PROPERTY_USEGES = 'use gesture control'; var PROPERTY_NTOOLS = 'number of tools'; var PROPERTY_AHIDE = 'Hide All Elements When Timing'; -var SCRAMBLE_LAST = 'last'; +var SCRAMBLE_LAST = 'nazaj'; var SCRAMBLE_NEXT = 'Naprej'; var SCRAMBLE_SCRAMBLE = ' scramble'; var SCRAMBLE_SCRAMBLING = 'Scrambling'; @@ -176,7 +176,7 @@ var scrdata = [ ['5x5x5', "555wca", -60], ['6x6x6', "666wca", -80], ['7x7x7', "777wca", -100], - ['3x3 bld', "333ni", 0], + ['3x3 slepo', "333ni", 0], ['3x3 fm', "333fm", 0], ['3x3 oh', "333oh", 0], ['ura', "clkwca", 0], @@ -286,9 +286,9 @@ var scrdata = [ ['6x6x6', [ ["WCA", "666wca", 80], ['SiGN', "666si", 80], - ['prefix', "666p", 80], - ['suffix', "666s", 80], - ['6x6x6 edges', "6edge", 8] + ['predpona', "666p", 80], + ['pripona', "666s", 80], + ['6x6x6 robovi', "6edge", 8] ]], ['7x7x7', [ ["WCA", "777wca", 100], @@ -385,7 +385,7 @@ var scrdata = [ ['Cmetrick', "cm3", 25], ['Cmetrick Mini', "cm2", 25] ]], - ['Helicopter Cube', [ + ['Helikopter kocka', [ ['Heli copter', "heli", 40], ['Curvy copter', "helicv", 40], ['2x2 Heli random move', "heli2x2", 70], @@ -437,7 +437,7 @@ var scrdata = [ ['Icosahedron', [ ['Icosamate random move', "ctico", 60] ]], - ['===SPECIAL===', [ + ['===POSEBNO===', [ ['--', "blank", 0] ]], ['3x3x3 subsets', [ @@ -617,3 +617,4 @@ var LGHINT_BTINVMAC = 'Not a valid mac address, cannot connect to your smart cub var LGHINT_AEXPABT = 'Avtomatski izvoz preklican'; var LGHINT_AEXPSUC = 'Avtomatski izvoz uspešen'; var LGHINT_AEXPFAL = 'Avtomatski izvoz neuspešen'; +var EASY_SCRAMBLE_HINT = 'Change length to limit upper bound of solution length, input 2 digits to limit both lower (>= 8) and upper bound'; diff --git a/src/lang/sl-si.php b/src/lang/sl-si.php index 252520e3..16c4bffc 100644 --- a/src/lang/sl-si.php +++ b/src/lang/sl-si.php @@ -34,18 +34,18 @@ Alt + zRemove the latest solve Alt + up/downTo next/last session Alt + left/rightDisplay last/next scramble -Ctrl + 1/2/3The latest solve is OK/+2/DNF +Ctrl + 1/2/3Zadnji poiskus je bil OK/+2/DNF Ctrl + Alt + t/i/s/v/g/q/b/lEntering in times with timer/typing/stackmat/virtual/bluetooth cube/qcube/bluetooth timer/last layer - - - - - - - + + + + + + +
GestureFunction
Up leftThe latest solve is DNF
UpThe latest solve is +2
Up rightThe latest solve is OK
LeftLast scramble
RightNext scramble
Down leftAdd comment to the latest solve
GestureFunkcija
Gor levoThe latest solve is DNF
GorThe latest solve is +2
Gor desnoThe latest solve is OK
LevoLast scramble
DesnoNext scramble
Desno levoDodaj komentar zadnjemu reševanju
DownRemove the latest solve
Down rightCheck the latest solve
@@ -130,7 +130,7 @@
  • ScrambleGenerator. You are able to generate up to 999 scrambles with one click by this tool.
  • Potrdi čas. Tool to view current solves with its comment, scramble, solving date and reconstruction if available, which is also the dialog when you click on a solve.
  • cross-session stats. You are able to do cross-session statistics with this tool.
  • -
  • Statistics. Statistic table similar with the table in the list times panel.
  • +
  • Statistika. Statistic table similar with the table in the list times panel.
  • Časovna distribucija. Time distribution and stability analysis, <X Y/Z means there are totally Z solves less than X seconds, and all of the latest Y solves are less than X seconds in the session.
  • Časovni trend. Shows a trend curve of all solves in current session.
  • Daily Statistics. Count number of solves each day/week/month/year.
  • @@ -147,11 +147,11 @@
  • Solvers > Pyraminx V. Pyraminx V solver, which solves three corners and two edges to shape into a 'V' pattern for pyraminx.
  • Solvers > Skewb Face. Skewb face solver, which solves a layer of skewb, more specifically, 1 center and 4 neighbor corners.
  • Bluetooth Kocka. Auxiliary tool for bluetooth cube, which is able to show current state, battery power, real-time reconstruction etc.
  • -
  • metronome. Metronome, besides beeping at specific frequency, you make it beep at specific time after starting solve as well.
  • +
  • metronom. Metronome, besides beeping at specific frequency, you make it beep at specific time after starting solve as well.
  • Common Scramble. Using same scrambles with friends by setting a common seed.
  • stackmat. Auxiliary tool for Stackmat, which is able to view the status, power and noise level of the signal, etc.
  • -

    Links

    +

    Povezave

    -

    Recommended products

    +

    Predlagani produkti

    Here are some professional cubes or hardwares.

    -

    Donate directly

    +

    Donirajte neposredno

    Thank you for your willingness to support csTimer! Your donation will be used to support our development and maintenance costs.

    If you would like to offer us a donation through PayPal, please click the button below or through PayPal.me.

    diff --git a/src/lang/sr-sp.js b/src/lang/sr-sp.js index ffce9fb1..917d3551 100644 --- a/src/lang/sr-sp.js +++ b/src/lang/sr-sp.js @@ -617,3 +617,4 @@ var LGHINT_BTINVMAC = 'Not a valid mac address, cannot connect to your smart cub var LGHINT_AEXPABT = 'Auto export abort'; var LGHINT_AEXPSUC = 'Auto export success'; var LGHINT_AEXPFAL = 'Auto export failed'; +var EASY_SCRAMBLE_HINT = 'Change length to limit upper bound of solution length, input 2 digits to limit both lower (>= 8) and upper bound'; diff --git a/src/lang/sv-se.js b/src/lang/sv-se.js index 3ae04d36..c031514b 100644 --- a/src/lang/sv-se.js +++ b/src/lang/sv-se.js @@ -617,3 +617,4 @@ var LGHINT_BTINVMAC = 'Not a valid mac address, cannot connect to your smart cub var LGHINT_AEXPABT = 'Auto export abort'; var LGHINT_AEXPSUC = 'Auto export success'; var LGHINT_AEXPFAL = 'Auto export failed'; +var EASY_SCRAMBLE_HINT = 'Change length to limit upper bound of solution length, input 2 digits to limit both lower (>= 8) and upper bound'; diff --git a/src/lang/tr-tr.js b/src/lang/tr-tr.js index 4609bdf3..186f801b 100644 --- a/src/lang/tr-tr.js +++ b/src/lang/tr-tr.js @@ -600,9 +600,9 @@ var GIIKER_NOBLEMSG = 'Bluetooth API is not available. Ensure https access, chec var PROPERTY_SHOWAD = 'Reklamları göster (sayfayı yeniledikten sonra etkili olur)'; var PROPERTY_GIIORI = 'Küp Oryantasyonu'; var LGHINT_INVALID = 'Invalid Value!'; -var LGHINT_NETERR = 'Network Error!'; -var LGHINT_SERVERR = 'Server Error!'; -var LGHINT_SUBMITED = 'Submitted'; +var LGHINT_NETERR = 'Ağ Hatası!'; +var LGHINT_SERVERR = 'Sunucu Hatası!'; +var LGHINT_SUBMITED = 'Gönderildi'; var LGHINT_SSBEST = 'Session best %s!'; var LGHINT_SCRCOPY = 'Scramble copied'; var LGHINT_LINKCOPY = 'Share link copied'; @@ -617,3 +617,4 @@ var LGHINT_BTINVMAC = 'Not a valid mac address, cannot connect to your smart cub var LGHINT_AEXPABT = 'Auto export abort'; var LGHINT_AEXPSUC = 'Auto export success'; var LGHINT_AEXPFAL = 'Auto export failed'; +var EASY_SCRAMBLE_HINT = 'Change length to limit upper bound of solution length, input 2 digits to limit both lower (>= 8) and upper bound'; diff --git a/src/lang/uk-ua.js b/src/lang/uk-ua.js index 143c5d89..d9f2a0d6 100644 --- a/src/lang/uk-ua.js +++ b/src/lang/uk-ua.js @@ -617,3 +617,4 @@ var LGHINT_BTINVMAC = 'Not a valid mac address, cannot connect to your smart cub var LGHINT_AEXPABT = 'Auto export abort'; var LGHINT_AEXPSUC = 'Auto export success'; var LGHINT_AEXPFAL = 'Auto export failed'; +var EASY_SCRAMBLE_HINT = 'Change length to limit upper bound of solution length, input 2 digits to limit both lower (>= 8) and upper bound'; diff --git a/src/lang/vi-vn.js b/src/lang/vi-vn.js index c03618e0..79656036 100644 --- a/src/lang/vi-vn.js +++ b/src/lang/vi-vn.js @@ -617,3 +617,4 @@ var LGHINT_BTINVMAC = 'Not a valid mac address, cannot connect to your smart cub var LGHINT_AEXPABT = 'Auto export abort'; var LGHINT_AEXPSUC = 'Auto export success'; var LGHINT_AEXPFAL = 'Auto export failed'; +var EASY_SCRAMBLE_HINT = 'Change length to limit upper bound of solution length, input 2 digits to limit both lower (>= 8) and upper bound'; diff --git a/src/lang/zh-cn.js b/src/lang/zh-cn.js index 160b1cc9..653ae799 100644 --- a/src/lang/zh-cn.js +++ b/src/lang/zh-cn.js @@ -617,3 +617,4 @@ var LGHINT_BTINVMAC = '无效的MAC地址,无法连接你的智能魔方'; var LGHINT_AEXPABT = '自动导出中止'; var LGHINT_AEXPSUC = '自动导出成功'; var LGHINT_AEXPFAL = '自动导出失败'; +var EASY_SCRAMBLE_HINT = '更改长度可以限制解法长度的上限,输入2个数字可以同时限制下限(>= 8)和上限'; diff --git a/src/lang/zh-tw.js b/src/lang/zh-tw.js index e294d626..5d258b70 100644 --- a/src/lang/zh-tw.js +++ b/src/lang/zh-tw.js @@ -617,3 +617,4 @@ var LGHINT_BTINVMAC = 'Not a valid mac address, cannot connect to your smart cub var LGHINT_AEXPABT = 'Auto export abort'; var LGHINT_AEXPSUC = 'Auto export success'; var LGHINT_AEXPFAL = '自動匯出失敗'; +var EASY_SCRAMBLE_HINT = 'Change length to limit upper bound of solution length, input 2 digits to limit both lower (>= 8) and upper bound';