|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
-
-
- // // // //
-
-
- ВывестиПозицииРаскладкиKMahjongg = мир =>
- {
- console.debug("Позиции раскладки KMahjongg НАЧАЛО");
- const позиции = мир.раскладкаKMahjongg.позиции;
- for (var номер in позиции) {
- const позиция = позиции[номер];
- console.debug(позиция);
- }
- console.debug("Позиции раскладки KMahjongg КОНЕЦ");
- };
-
-
- // // // //
-
-
- РазобратьПозицииЭлементовРаскладкиKMahjongg = мир =>
- {
- const параметры = мир.раскладкаKMahjongg.параметры;
- const строки = мир.раскладкаKMahjongg.строки;
- var позиции = [];
- for (var номерСлоя = 0; номерСлоя < параметры.глубина; ++номерСлоя)
- {
- console.debug("cлой", номерСлоя);
- 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");
- };
-
|