Revision f702f4ef
Added by Leszek Koltunski over 3 years ago
| src/main/java/org/distorted/solvers/SolverMain.java | ||
|---|---|---|
| 26 | 26 | private final Resources mRes; | 
| 27 | 27 | private final TwistyObject mObject; | 
| 28 | 28 | private final long mSignature; | 
| 29 | private int mColorID; | |
| 29 | 30 |  | 
| 30 | 31 | /////////////////////////////////////////////////////////////////////////////////////////////////// | 
| 31 | 32 |  | 
| ... | ... | |
| 66 | 67 |  | 
| 67 | 68 | SolverSearch.prepare(mRes); | 
| 68 | 69 | String objectPosition = prepareCube3position(); | 
| 69 |     result = SolverSearch.solution(objectPosition, 24, 20);
 | |
| 70 |     int check = checkPosition(objectPosition);
 | |
| 70 | 71 |  | 
| 71 |     if (result.contains("Error"))
 | |
| 72 |     if( check<0 )
 | |
| 72 | 73 |       {
 | 
| 73 | switch (result.charAt(result.length() - 1)) | |
| 74 | result = SolverSearch.solution(objectPosition, 24, 20); | |
| 75 |  | |
| 76 |       if (result.contains("Error"))
 | |
| 74 | 77 |         {
 | 
| 75 | case '1': result = mRes.getString(R.string.solver_cube3_error1); break; | |
| 76 | case '2': result = mRes.getString(R.string.solver_cube3_error2); break; | |
| 77 | case '3': result = mRes.getString(R.string.solver_cube3_error3); break; | |
| 78 | case '4': result = mRes.getString(R.string.solver_cube3_error4); break; | |
| 79 | case '5': result = mRes.getString(R.string.solver_cube3_error5); break; | |
| 80 | case '6': result = mRes.getString(R.string.solver_cube3_error6); break; | |
| 81 | case '7': result = mRes.getString(R.string.solver_cube3_error7); break; | |
| 82 | case '8': result = mRes.getString(R.string.solver_cube3_error8); break; | |
| 83 | case '9': result = mRes.getString(R.string.solver_cube3_error9); break; | |
| 78 | switch (result.charAt(result.length() - 1)) | |
| 79 |           {
 | |
| 80 | case '1': result = mRes.getString(R.string.solver_cube3_error1); break; | |
| 81 | case '2': result = mRes.getString(R.string.solver_cube3_error2); break; | |
| 82 | case '3': result = mRes.getString(R.string.solver_cube3_error3); break; | |
| 83 | case '4': result = mRes.getString(R.string.solver_cube3_error4); break; | |
| 84 | case '5': result = mRes.getString(R.string.solver_cube3_error5); break; | |
| 85 | case '6': result = mRes.getString(R.string.solver_cube3_error6); break; | |
| 86 | case '7': result = mRes.getString(R.string.solver_cube3_error7); break; | |
| 87 | case '8': result = mRes.getString(R.string.solver_cube3_error8); break; | |
| 88 | case '9': result = mRes.getString(R.string.solver_cube3_error9); break; | |
| 89 | } | |
| 90 |  | |
| 91 | solver.displayErrorDialog(result); | |
| 92 | } | |
| 93 | else | |
| 94 |         {
 | |
| 95 | solver.setSolved(result); | |
| 84 | 96 | } | 
| 85 |  | |
| 86 | solver.displayErrorDialog(result); | |
| 87 | 97 | } | 
| 88 | 98 | else | 
| 89 | 99 |       {
 | 
| 90 | solver.setSolved(result); | |
| 100 | String color = mRes.getString(mColorID); | |
| 101 | result = mRes.getString(R.string.solver_cube3_error1,check,color); | |
| 102 | solver.displayErrorDialog(result); | |
| 91 | 103 | } | 
| 92 | 104 | } | 
| 93 | 105 |  | 
| ... | ... | |
| 128 | 140 | return -1; | 
| 129 | 141 | } | 
| 130 | 142 |  | 
| 143 | /////////////////////////////////////////////////////////////////////////////////////////////////// | |
| 144 |  | |
| 145 | private int checkPosition(String position) | |
| 146 |     {
 | |
| 147 | int[] numColors = new int[6]; | |
| 148 | int len = position.length(); | |
| 149 |  | |
| 150 | for(int i=0; i<len; i++) | |
| 151 |       {
 | |
| 152 | char ch = position.charAt(i); | |
| 153 |  | |
| 154 | switch(ch) | |
| 155 |         {
 | |
| 156 | case 'R': numColors[0]++; break; | |
| 157 | case 'L': numColors[1]++; break; | |
| 158 | case 'U': numColors[2]++; break; | |
| 159 | case 'D': numColors[3]++; break; | |
| 160 | case 'F': numColors[4]++; break; | |
| 161 | case 'B': numColors[5]++; break; | |
| 162 | } | |
| 163 | } | |
| 164 |  | |
| 165 |     if( numColors[0]<9 ) { mColorID = R.string.color_yellow; return numColors[0]; }
 | |
| 166 |     if( numColors[1]<9 ) { mColorID = R.string.color_white ; return numColors[1]; }
 | |
| 167 |     if( numColors[2]<9 ) { mColorID = R.string.color_blue  ; return numColors[2]; }
 | |
| 168 |     if( numColors[3]<9 ) { mColorID = R.string.color_green ; return numColors[3]; }
 | |
| 169 |     if( numColors[4]<9 ) { mColorID = R.string.color_red   ; return numColors[4]; }
 | |
| 170 |     if( numColors[5]<9 ) { mColorID = R.string.color_orange; return numColors[5]; }
 | |
| 171 |  | |
| 172 | return -1; | |
| 173 | } | |
| 174 |  | |
| 131 | 175 | /////////////////////////////////////////////////////////////////////////////////////////////////// | 
| 132 | 176 | // order: Up --> Right --> Front --> Down --> Left --> Back | 
| 133 | 177 | // (because the first implemented Solver - the two-phase Cube3 one - expects such order) | 
| src/main/res/values-de/strings.xml | ||
|---|---|---|
| 70 | 70 |  | 
| 71 | 71 | <string name="solver_generic_error1">Löser für dieses Objekt und diese Größe noch nicht implementiert!</string> | 
| 72 | 72 |  | 
| 73 |     <string name="solver_cube3_error1">Es gibt nicht genau 9 Facelets jeder Farbe!</string>
 | |
| 73 |     <string name="solver_cube3_error1">Es gibt nur %1$d %2$s Facelets.</string>
 | |
| 74 | 74 | <string name="solver_cube3_error2">Nicht alle 12 Kanten gibt es genau einmal!</string> | 
| 75 | 75 | <string name="solver_cube3_error3">Eine Kante muss umgedreht werden!</string> | 
| 76 | 76 | <string name="solver_cube3_error4">Nicht alle 8 Ecken gibt es genau einmal!</string> | 
| ... | ... | |
| 80 | 80 | <string name="solver_cube3_error8">Zeitüberschreitung. Keine Lösung in 20 Sekunden gefunden!</string> | 
| 81 | 81 | <string name="solver_cube3_error9">Löser unterbrochen!</string> | 
| 82 | 82 |  | 
| 83 | <string name="color_yellow">gelbe</string> | |
| 84 | <string name="color_white">weiße</string> | |
| 85 | <string name="color_blue">blaue</string> | |
| 86 | <string name="color_green">grüne</string> | |
| 87 | <string name="color_red">rote</string> | |
| 88 | <string name="color_orange">orange</string> | |
| 89 |  | |
| 83 | 90 | <string name="ms_placeholder">%1$d ms</string> | 
| 84 | 91 | <string name="lv_placeholder">Level %1$d</string> | 
| 85 | 92 | <string name="tm_placeholder">%1$02d:%2$02d</string> | 
| src/main/res/values-es/strings.xml | ||
|---|---|---|
| 70 | 70 |  | 
| 71 | 71 | <string name="solver_generic_error1">¡Aún no se implementado el solucionador para este objeto y tamaño!</string> | 
| 72 | 72 |  | 
| 73 |     <string name="solver_cube3_error1">¡No hay exactamente 9 facelets de cada color!</string>
 | |
| 73 |     <string name="solver_cube3_error1">Solo hay %1$d facetas %2$s.</string>
 | |
| 74 | 74 | <string name="solver_cube3_error2">¡No todos los 12 bordes existen exactamente una vez!</string> | 
| 75 | 75 | <string name="solver_cube3_error3">¡Un borde tiene que voltearse!</string> | 
| 76 | 76 | <string name="solver_cube3_error4">¡No todas las 8 esquinas existen exactamente una vez!</string> | 
| ... | ... | |
| 80 | 80 | <string name="solver_cube3_error8">¡Tiempo de espera agotado, no se encontró ninguna solución en 20 segundos!</string> | 
| 81 | 81 | <string name="solver_cube3_error9">¡Solucionador interrumpido!</string> | 
| 82 | 82 |  | 
| 83 | <string name="color_yellow">amarillas</string> | |
| 84 | <string name="color_white">blancos</string> | |
| 85 | <string name="color_blue">azules</string> | |
| 86 | <string name="color_green">verdes</string> | |
| 87 | <string name="color_red">rojos</string> | |
| 88 | <string name="color_orange">naranjas</string> | |
| 89 |  | |
| 83 | 90 | <string name="ms_placeholder">%1$d ms</string> | 
| 84 | 91 | <string name="lv_placeholder">Nivel %1$d</string> | 
| 85 | 92 | <string name="tm_placeholder">%1$02d:%2$02d</string> | 
| src/main/res/values-fr/strings.xml | ||
|---|---|---|
| 70 | 70 |  | 
| 71 | 71 | <string name="solver_generic_error1">Solutionneur pour cet objet et cette taille non encore mis en place !</string> | 
| 72 | 72 |  | 
| 73 |     <string name="solver_cube3_error1">Il n\'y a pas exactement 9 facettes de chaque couleur !</string>
 | |
| 73 |     <string name="solver_cube3_error1">Il n\'y a que %1$d facettes %2$s.</string>
 | |
| 74 | 74 | <string name="solver_cube3_error2">Les 12 arêtes n\'existent pas exactement une fois !</string> | 
| 75 | 75 | <string name="solver_cube3_error3">Une arête doit être inversée !</string> | 
| 76 | 76 | <string name="solver_cube3_error4">Les 8 coins n\'existent pas tous une seule fois !</string> | 
| ... | ... | |
| 80 | 80 | <string name="solver_cube3_error8">Temps imparti, aucune solution trouvée en 20 secondes !</string> | 
| 81 | 81 | <string name="solver_cube3_error9">Solutionneur interrompu !</string> | 
| 82 | 82 |  | 
| 83 | <string name="color_yellow">jaunes</string> | |
| 84 | <string name="color_white">blanches</string> | |
| 85 | <string name="color_blue">bleues</string> | |
| 86 | <string name="color_green">vertes</string> | |
| 87 | <string name="color_red">rouges</string> | |
| 88 | <string name="color_orange">orange</string> | |
| 89 |  | |
| 83 | 90 | <string name="ms_placeholder">%1$d ms</string> | 
| 84 | 91 | <string name="lv_placeholder">Niveau %1$d</string> | 
| 85 | 92 | <string name="tm_placeholder">%1$02d:%2$02d</string> | 
| src/main/res/values-ja/strings.xml | ||
|---|---|---|
| 70 | 70 |  | 
| 71 | 71 | <string name="solver_generic_error1">このオブジェクトとサイズのソルバーはまだ実装されていません!</string> | 
| 72 | 72 |  | 
| 73 |     <string name="solver_cube3_error1">各色には 9 つのフェイスレットはありません。</string>
 | |
| 73 |     <string name="solver_cube3_error1">%2$s小顔は%1$dつだけ</string>
 | |
| 74 | 74 | <string name="solver_cube3_error2">12 のエッジすべてが 存在するわけではありません。</string> | 
| 75 | 75 | <string name="solver_cube3_error3">1 つのエッジを反転する必要があります!</string> | 
| 76 | 76 | <string name="solver_cube3_error4">8 つのコーナーすべてが存在するわけではありません!</string> | 
| ... | ... | |
| 80 | 80 | <string name="solver_cube3_error8">タイムアウトです。20 秒では解答は見つかりません!</string> | 
| 81 | 81 | <string name="solver_cube3_error9">ソルバーが中断されました!</string> | 
| 82 | 82 |  | 
| 83 | <string name="color_yellow">黄色い</string> | |
| 84 | <string name="color_white">白い</string> | |
| 85 | <string name="color_blue">青い</string> | |
| 86 | <string name="color_green">緑の</string> | |
| 87 | <string name="color_red">赤い</string> | |
| 88 | <string name="color_orange">オレンジ色の</string> | |
| 89 |  | |
| 83 | 90 | <string name="ms_placeholder">%1$d ms</string> | 
| 84 | 91 | <string name="lv_placeholder">レベル %1$d</string> | 
| 85 | 92 | <string name="tm_placeholder">%1$02d:%2$02d</string> | 
| src/main/res/values-ko/strings.xml | ||
|---|---|---|
| 70 | 70 |  | 
| 71 | 71 | <string name="solver_generic_error1">아직 구현되지 않은 이 개체 및 크기에 대한 해결사!</string> | 
| 72 | 72 |  | 
| 73 |     <string name="solver_cube3_error1">각 색상마다 정확히 9개의 페이스렛이 없습니다!</string>
 | |
| 73 |     <string name="solver_cube3_error1">%2$s작은 얼굴은  %1$d개뿐입니다.</string>
 | |
| 74 | 74 | <string name="solver_cube3_error2">12개의 가장자리 모두가 정확하게 한 번 존재하지 않습니다!</string> | 
| 75 | 75 | <string name="solver_cube3_error3">한쪽 가장자리를 뒤집어야 합니다!</string> | 
| 76 | 76 | <string name="solver_cube3_error4">8개의 모서리 모두가 정확하게 한 번 존재하지 않습니다!</string> | 
| ... | ... | |
| 80 | 80 | <string name="solver_cube3_error8">시간 초과, 20초 안에 해답이 발견되지 않았습니다!</string> | 
| 81 | 81 | <string name="solver_cube3_error9">해결사가 중단되었습니다!</string> | 
| 82 | 82 |  | 
| 83 | <string name="color_yellow">노란색</string> | |
| 84 | <string name="color_white">하얀</string> | |
| 85 | <string name="color_blue">파란색</string> | |
| 86 | <string name="color_green">녹색의</string> | |
| 87 | <string name="color_red">빨간</string> | |
| 88 | <string name="color_orange">주황색</string> | |
| 89 |  | |
| 83 | 90 | <string name="ms_placeholder">%1$d ms</string> | 
| 84 | 91 | <string name="lv_placeholder">레벨 %1$d</string> | 
| 85 | 92 | <string name="tm_placeholder">%1$02d:%2$02d</string> | 
| src/main/res/values-pl/strings.xml | ||
|---|---|---|
| 70 | 70 |  | 
| 71 | 71 | <string name="solver_generic_error1">Rozwiązywacz takiego obiektu jest jeszcze nie zaimplementowany!</string> | 
| 72 | 72 |  | 
| 73 |     <string name="solver_cube3_error1">Nie ma dokładnie 9 ścian w każdym kolorze!</string>
 | |
| 73 |     <string name="solver_cube3_error1">Jest tylko %1$d %2$s ścian.</string>
 | |
| 74 | 74 | <string name="solver_cube3_error2">Któraś z 12 krawędzi nie istnieje!</string> | 
| 75 | 75 | <string name="solver_cube3_error3">Jedna z krawędzi musi być odwrócona!</string> | 
| 76 | 76 | <string name="solver_cube3_error4">Jeden z 8 rogów nie istnieje!</string> | 
| ... | ... | |
| 80 | 80 | <string name="solver_cube3_error8">Minęło 20 sekund i rozwiązanie nie zostało znalezione!</string> | 
| 81 | 81 | <string name="solver_cube3_error9">Rozwiązywacz przerwany!</string> | 
| 82 | 82 |  | 
| 83 | <string name="color_yellow">żółtych</string> | |
| 84 | <string name="color_white">białych</string> | |
| 85 | <string name="color_blue">niebieskich</string> | |
| 86 | <string name="color_green">zielonych</string> | |
| 87 | <string name="color_red">czerwonych</string> | |
| 88 | <string name="color_orange">pomarańczowych</string> | |
| 89 |  | |
| 83 | 90 | <string name="ms_placeholder">%1$d ms</string> | 
| 84 | 91 | <string name="lv_placeholder">Poziom %1$d</string> | 
| 85 | 92 | <string name="tm_placeholder">%1$02d:%2$02d</string> | 
| src/main/res/values-ru/strings.xml | ||
|---|---|---|
| 70 | 70 |  | 
| 71 | 71 | <string name="solver_generic_error1">Решебника для этого объекта и размера еще нет!</string> | 
| 72 | 72 |  | 
| 73 |     <string name="solver_cube3_error1">Отсутствует точно 9 граней каждого цвета!</string>
 | |
| 73 |     <string name="solver_cube3_error1">Всего %1$d %2$s граней!</string>
 | |
| 74 | 74 | <string name="solver_cube3_error2">Не все 12 ребер существуют в единичном экземпляре!</string> | 
| 75 | 75 | <string name="solver_cube3_error3">Надо перевернуть одно ребро!</string> | 
| 76 | 76 | <string name="solver_cube3_error4">Не все 8 углов существуют в единичном экземпляре!</string> | 
| ... | ... | |
| 79 | 79 | <string name="solver_cube3_error7">Не существует решения для данного максимального числа ходов!</string> | 
| 80 | 80 | <string name="solver_cube3_error8">Время вышло: решение не найдено в течение 20 секунд!</string> | 
| 81 | 81 | <string name="solver_cube3_error9">Решебник прерван!</string> | 
| 82 | ] | |
| 83 | <string name="color_yellow">желтых</string> | |
| 84 | <string name="color_white">белых</string> | |
| 85 | <string name="color_blue">синих</string> | |
| 86 | <string name="color_green">зеленых</string> | |
| 87 | <string name="color_red">красных</string> | |
| 88 | <string name="color_orange">оранжевых</string> | |
| 82 | 89 |  | 
| 83 | 90 | <string name="ms_placeholder">%1$d мс</string> | 
| 84 | 91 | <string name="lv_placeholder">Уровень %1$d</string> | 
| src/main/res/values-zh-rCN/strings.xml | ||
|---|---|---|
| 76 | 76 |  | 
| 77 | 77 | <string name="solver_generic_error1">此对象和尺寸的求解器尚未实现!</string> | 
| 78 | 78 |  | 
| 79 |     <string name="solver_cube3_error1">每种颜色并非全有9个小面!</string>
 | |
| 79 |     <string name="solver_cube3_error1">只有%1$d个%2$s小面</string>
 | |
| 80 | 80 | <string name="solver_cube3_error2">并非所有12条边都只存在一次!</string> | 
| 81 | 81 | <string name="solver_cube3_error3">一条边需要翻转!</string> | 
| 82 | 82 | <string name="solver_cube3_error4">并非所有8个角都只存在一次!</string> | 
| ... | ... | |
| 86 | 86 | <string name="solver_cube3_error8">超时,20秒内未找到解决方案!</string> | 
| 87 | 87 | <string name="solver_cube3_error9">求解器中断!</string> | 
| 88 | 88 |  | 
| 89 | <string name="color_yellow">黄色的</string> | |
| 90 | <string name="color_white">白色的</string> | |
| 91 | <string name="color_blue">蓝色的</string> | |
| 92 | <string name="color_green">绿色的</string> | |
| 93 | <string name="color_red">红色的</string> | |
| 94 | <string name="color_orange">橙色的</string> | |
| 95 |  | |
| 89 | 96 | <string name="ms_placeholder">%1$d 毫秒</string> | 
| 90 | 97 | <string name="lv_placeholder">级别 %1$d</string> | 
| 91 | 98 | <string name="tm_placeholder">%1$02d:%2$02d</string> | 
| src/main/res/values-zh-rTW/strings.xml | ||
|---|---|---|
| 70 | 70 |  | 
| 71 | 71 | <string name="solver_generic_error1">此對象和尺寸的求解器尚未實現!</string> | 
| 72 | 72 |  | 
| 73 |     <string name="solver_cube3_error1">每種颜色並非全有9個小面!</string>
 | |
| 73 |     <string name="solver_cube3_error1">只有%1$d個%2$s小臉</string>
 | |
| 74 | 74 | <string name="solver_cube3_error2">並非所有12條邊都只存在一次!</string> | 
| 75 | 75 | <string name="solver_cube3_error3">一條邊需要翻轉!</string> | 
| 76 | 76 | <string name="solver_cube3_error4">並非所有8個角都只存在一次!</string> | 
| ... | ... | |
| 80 | 80 | <string name="solver_cube3_error8">超時,20秒内未找到解决方案!</string> | 
| 81 | 81 | <string name="solver_cube3_error9">求解器中斷!</string> | 
| 82 | 82 |  | 
| 83 | <string name="color_yellow">黃色的</string> | |
| 84 | <string name="color_white">白色的</string> | |
| 85 | <string name="color_blue">藍色的</string> | |
| 86 | <string name="color_green">綠色的</string> | |
| 87 | <string name="color_red">紅色的</string> | |
| 88 | <string name="color_orange">橙色的</string> | |
| 89 |  | |
| 83 | 90 | <string name="ms_placeholder">%1$d 毫秒</string> | 
| 84 | 91 | <string name="lv_placeholder">級別 %1$d</string> | 
| 85 | 92 | <string name="tm_placeholder">%1$02d:%2$02d</string> | 
| src/main/res/values/strings.xml | ||
|---|---|---|
| 90 | 90 | <string name="opengl_error_text" translatable="false">This device does not support OpenGL 3.0</string> | 
| 91 | 91 |  | 
| 92 | 92 | <string name="solver_generic_error1">Solver for this object and size not implemented yet!</string> | 
| 93 |     <string name="solver_cube3_error1">There are not exactly 9 facelets of each color!</string>
 | |
| 93 |     <string name="solver_cube3_error1">There are only %1$d %2$s facelets.</string>
 | |
| 94 | 94 | <string name="solver_cube3_error2">Not all 12 edges exist exactly once!</string> | 
| 95 | 95 | <string name="solver_cube3_error3">One edge has to be flipped!</string> | 
| 96 | 96 | <string name="solver_cube3_error4">Not all 8 corners exist exactly once!</string> | 
| ... | ... | |
| 100 | 100 | <string name="solver_cube3_error8">Timeout, no solution found in 20 seconds!</string> | 
| 101 | 101 | <string name="solver_cube3_error9">Solver interrupted!</string> | 
| 102 | 102 |  | 
| 103 | <string name="color_yellow">yellow</string> | |
| 104 | <string name="color_white">white</string> | |
| 105 | <string name="color_blue">blue</string> | |
| 106 | <string name="color_green">green</string> | |
| 107 | <string name="color_red">red</string> | |
| 108 | <string name="color_orange">orange</string> | |
| 109 |  | |
| 103 | 110 | <string name="ms_placeholder">%1$d ms</string> | 
| 104 | 111 | <string name="lv_placeholder">Level %1$d</string> | 
| 105 | 112 | <string name="tm_placeholder">%1$02d:%2$02d</string> | 
Also available in: Unified diff
Make error reporting in the Solver a bit better.