From 12020e3770138be83eab31f6b95f3ac5dadc0540 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: Tue, 8 Sep 2020 14:30:12 +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 --- 0000 | 5 +- привет|hello.js | 7 -- привет|hello.череда | 2 - раскладка|layout.js | 154 +++++++++++++++++++++++++ раскладка|layout.череда | 7 ++ 5 files changed, 164 insertions(+), 11 deletions(-) delete mode 100644 привет|hello.js delete mode 100644 привет|hello.череда create mode 100644 раскладка|layout.js create mode 100644 раскладка|layout.череда diff --git a/0000 b/0000 index ec9d0e8..26c7802 100644 --- a/0000 +++ b/0000 @@ -1,5 +1,6 @@ Раскладка Маджонга | Mahjong layout 1.0.0 +https://git.opengamestudio.org/kornerr/mahjong-raskladka-layout -/привет|hello.череда -x /привет|hello.js +x /раскладка|layout.js +/раскладка|layout.череда \ No newline at end of file diff --git a/привет|hello.js b/привет|hello.js deleted file mode 100644 index 14b90ca..0000000 --- a/привет|hello.js +++ /dev/null @@ -1,7 +0,0 @@ -ПоприветствоватьМир = function() -{ - console.log("Привет, мир!"); - console.log("Hello, world!"); - document.body.innerHTML += "

Привет, мир!

"; - document.body.innerHTML += "

Hello, world!

"; -}; diff --git a/привет|hello.череда b/привет|hello.череда deleted file mode 100644 index 278573b..0000000 --- a/привет|hello.череда +++ /dev/null @@ -1,2 +0,0 @@ -пуск - поприветствовать мир diff --git a/раскладка|layout.js b/раскладка|layout.js new file mode 100644 index 0000000..7c29035 --- /dev/null +++ b/раскладка|layout.js @@ -0,0 +1,154 @@ + + +// // // // + + +ВывестиПозицииРаскладкиKMahjongg = мир => +{ + console.debug("Позиции раскладки KMahjongg НАЧАЛО"); + const позиции = мир.раскладкаKMahjongg.позиции; + for (var номер in позиции) { + const позиция = позиции[номер]; + console.debug(позиция); + } + console.debug("Позиции раскладки KMahjongg КОНЕЦ"); +}; + + +// // // // + + +РазобратьПозицииЭлементовРаскладкиKMahjongg = мир => +{ + const параметры = мир.раскладкаKMahjongg.параметры; + const строки = мир.раскладкаKMahjongg.строки; + var позиции = []; + for (var номерСлоя = 0; номерСлоя < параметры.глубина; ++номерСлоя) + { + for (var ряд = 0; ряд < параметры.высота - 1; ++ряд) + { + for (var столбец = 0; столбец < параметры.ширина - 1; ++столбец) + { + const рядСлоя = ряд + (номерСлоя * параметры.высота); + if ( + (строки[рядСлоя][столбец] == '1') && + (строки[рядСлоя][столбец + 1] == '2') && + (строки[рядСлоя + 1][столбец] == '4') && + (строки[рядСлоя + 1][столбец + 1] == '3') + ) { + позиции.push([номерСлоя, ряд, столбец]); + } + } + } + } + мир.раскладкаKMahjongg.позиции = позиции; +}; + + +// // // // + + +ВывестиПараметрыРаскладкиKMahjongg = мир => +{ + console.debug("Параметры раскладки KMahjongg", JSON.stringify(мир.раскладкаKMahjongg.параметры)); +}; + + +// // // // + + +РазобратьПараметрыРаскладкиKMahjongg = мир => +{ + var параметры = { + "ширина": 32, + "высота": 16, + "глубина": 0, + "версия": "1.0", + }; + + var префиксы = { + "версия": "kmahjongg-layout-v", + "глубина": "d", + "ширина": "w", + "высота": "h", + }; + + var удалитьЭлементов = 0; + var строки = мир.раскладкаKMahjongg.строки; + for (var номер in строки) + { + var строка = строки[номер]; + // Версия. + if (строка.startsWith(префиксы.версия)) + { + параметры.версия = строка.substring(префиксы.версия.length); + } + // Глубина. + else if (строка.startsWith(префиксы.глубина)) + { + параметры.глубина = строка.substring(префиксы.глубина.length); + } + // Ширина. + else if (строка.startsWith(префиксы.ширина)) + { + параметры.ширина = строка.substring(префиксы.ширина.length); + } + // Высота. + else if (строка.startsWith(префиксы.высота)) + { + параметры.высота = строка.substring(префиксы.высота.length); + } + else + { + удалитьЭлементов = номер; + break; + } + } + + мир.раскладкаKMahjongg.строки.splice(0, удалитьЭлементов); + if (параметры.глубина == 0) + { + параметры.глубина = мир.раскладкаKMahjongg.строки.length / параметры.высота; + } + мир.раскладкаKMahjongg.параметры = параметры; + +}; + + +// // // // + + +ПодготовитьРаскладкуKMahjonggКРазбору = мир => +{ + var строки = мир.раскладкаKMahjongg.содержимое.split(/\n/); + мир.раскладкаKMahjongg.строки = []; + for (var номер in строки) + { + var строка = строки[номер].trim(); + // Пропускаем комментарии и пустые строки. + if (строка.startsWith("#") || !строка.length) + { + continue; + } + мир.раскладкаKMahjongg.строки.push(строка); + } +}; + + +// // // // + + +УведомитьОбОкончанииРазбораРаскладкиKMahjongg = мир => +{ + мир.уведомить("разобрали раскладку KMahjongg"); +}; + + +// // // // + + +РазобратьРаскладкуKMahjongg = мир => +{ + мир.уведомить("надо разобрать раскладку KMahjongg"); +}; + diff --git a/раскладка|layout.череда b/раскладка|layout.череда new file mode 100644 index 0000000..3156e5f --- /dev/null +++ b/раскладка|layout.череда @@ -0,0 +1,7 @@ +надо разобрать раскладку KMahjongg + подготовить раскладку KMahjongg к разбору + разобрать параметры раскладки KMahjongg +# вывести параметры раскладки KMahjongg + разобрать позиции элементов раскладки KMahjongg +# вывести позиции раскладки KMahjongg + уведомить об окончании разбора раскладки KMahjongg \ No newline at end of file