From 3a1ca7d11e02a4f0b61c684c30790c2e42258290 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=93=D0=BB=D0=B0=D0=B2=D1=80=D0=B5=D0=B4=20=7C=20Glavred?= Date: Sat, 26 Sep 2020 20:47:34 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=BE=D1=82=20=D0=93=D0=BB=D0=B0=D0=B2=D1=80?= =?UTF-8?q?=D0=B5=D0=B4=D0=B0=20=D0=93=D0=B8=D1=82=D0=96=D0=A1=20|=20Chang?= =?UTF-8?q?es=20of=20GitJS=20Glavred?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- фишки|tiles.js | 21 ++++++++++++++++++--- функции|functions.js | 4 ++-- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/фишки|tiles.js b/фишки|tiles.js index ff5ad84..498d77b 100644 --- a/фишки|tiles.js +++ b/фишки|tiles.js @@ -363,6 +363,17 @@ ПроверитьДоступностьФишкиДляВыбора = мир => { + // Удостоверимся, что это не одна и та же фишка, выбранная дважды. + if (мир.номераВыбранныхФишек.length) + { + var номер = мир.номераВыбранныхФишек[0]; + if (номер == мир.номерНайденнойФишки) + { + return; + } + } + + // Проверяем доступность с точки зрения правил Маджонга. var позиция = мир.раскладкаKMahjongg.позиции[мир.номерНайденнойФишки]; var индекс = индексПозицииФишки(позиция); if (фишкуМожноВыбрать(мир.индексыФишек, индекс)) @@ -511,7 +522,11 @@ var размеры = [ (границы.max.x - границы.min.x) / 2, (границы.max.z - границы.min.z) / 2, - границы.max.y - границы.min.y, + //границы.max.y - границы.min.y, + ]; + var отступы = [ + 0.02, + 0.02, ]; const позиции = мир.раскладкаKMahjongg.позиции; @@ -527,8 +542,8 @@ var слой = позиция[0]; var ряд = позиция[1]; var столбец = позиция[2]; - фишка.position.x = столбец * размеры[0]; - фишка.position.z = ряд * размеры[1]; + фишка.position.x = столбец * (размеры[0] + отступы[0]); + фишка.position.z = ряд * (размеры[1] + отступы[1]); фишка.position.y = слой; } }; diff --git a/функции|functions.js b/функции|functions.js index 61baa82..80a1518 100644 --- a/функции|functions.js +++ b/функции|functions.js @@ -50,8 +50,8 @@ позицияИндексаФишки = (индекс) => { - const x = индекс / 1000000; - const y = (индекс - x * 1000000) / 1000; + const x = Math.round(индекс / 1000000); + const y = Math.round((индекс - x * 1000000) / 1000); const z = индекс - x * 1000000 - y * 1000; return [x, y, z]; };