Изменения от Главреда ГитЖС | Changes of GitJS Glavred
This commit is contained in:
4
0000
4
0000
@@ -6,7 +6,7 @@ x /интерфейс|ui.js
|
|||||||
/интерфейс|ui.череда
|
/интерфейс|ui.череда
|
||||||
x /пуск|run.js
|
x /пуск|run.js
|
||||||
/пуск|run.череда
|
/пуск|run.череда
|
||||||
x /раскладка|layout.js
|
|
||||||
/раскладка|layout.череда
|
|
||||||
x /сцена|scene.js
|
x /сцена|scene.js
|
||||||
/сцена|scene.череда
|
/сцена|scene.череда
|
||||||
|
x /тема|theme.js
|
||||||
|
/тема|theme.череда
|
||||||
@@ -1,154 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
// // // //
|
|
||||||
|
|
||||||
|
|
||||||
ВывестиПозицииРаскладки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");
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
надо разобрать раскладку KMahjongg
|
|
||||||
подготовить раскладку KMahjongg к разбору
|
|
||||||
разобрать параметры раскладки KMahjongg
|
|
||||||
# вывести параметры раскладки KMahjongg
|
|
||||||
разобрать позиции элементов раскладки KMahjongg
|
|
||||||
# вывести позиции раскладки KMahjongg
|
|
||||||
уведомить об окончании разбора раскладки KMahjongg
|
|
||||||
@@ -1,6 +1,22 @@
|
|||||||
const ИМЯ = "ОМ | MB";
|
const ИМЯ = "ОМ | MB";
|
||||||
const ИМЯ_МОДУЛЯ_РЕСУРСОВ = "Ресурсы Маджонга | Mahjong resources";
|
const ИМЯ_МОДУЛЯ_РЕСУРСОВ = "Ресурсы Маджонга | Mahjong resources";
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
ВывестиФактЗагрузкиТемыФишекМаджонга = мир =>
|
||||||
|
{
|
||||||
|
console.debug("загрузили темы фишек маджонга");
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
ЗадатьТемуФишекДляЗагрузки = мир =>
|
||||||
|
{
|
||||||
|
мир.темаФишек = "отладочная|debug";
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
// // // //
|
// // // //
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,14 @@
|
|||||||
подготовить сцену
|
подготовить сцену
|
||||||
загрузить фишку
|
загрузить фишку
|
||||||
загрузили фишку
|
загрузили фишку
|
||||||
загрузить текстуру фишки из модуля
|
задать тему фишек для загрузки
|
||||||
|
загрузить тему фишек маджонга
|
||||||
|
загрузили тему фишек маджонга
|
||||||
|
вывести факт загрузки темы фишек маджонга
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# загрузить текстуру фишки из модуля
|
||||||
загрузили текстуру фишки из модуля
|
загрузили текстуру фишки из модуля
|
||||||
загрузить раскладку
|
загрузить раскладку
|
||||||
разобрать раскладку KMahjongg
|
разобрать раскладку KMahjongg
|
||||||
@@ -17,7 +24,6 @@
|
|||||||
отобразить раскладку одной фишкой
|
отобразить раскладку одной фишкой
|
||||||
центрировать сцену
|
центрировать сцену
|
||||||
запустить отрисовку
|
запустить отрисовку
|
||||||
# запустить таймер поворота фишки
|
|
||||||
изменили размер окна браузера
|
изменили размер окна браузера
|
||||||
изменить размер отрисовщика ThreeJS
|
изменить размер отрисовщика ThreeJS
|
||||||
|
|
||||||
|
|||||||
93
тема|theme.js
Normal file
93
тема|theme.js
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
УведомитьОНеудачнойЗагрузкеТемыФишекМаджонга = мир =>
|
||||||
|
{
|
||||||
|
мир.уведомить("не загрузили тему фишек маджонга");
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
УведомитьОбУспешнойЗагрузкеТемыФишекМаджонга = мир =>
|
||||||
|
{
|
||||||
|
мир.уведомить("загрузили тему фишек маджонга");
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
ПроверитьНаличиеВсехЗагруженныхТекстурТемыФишекМаджонга = мир =>
|
||||||
|
{
|
||||||
|
if (мир.загрузкаТемыФишек.номер < мир.загрузкаТемыФишек.всего)
|
||||||
|
{
|
||||||
|
мир.загрузкаТемыФишек.номер += 1;
|
||||||
|
мир.уведомить("загружены не все текстуры темы фишек маджонга");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
мир.уведомить("загружены все текстуры темы фишек маджонга");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
ЗагрузитьСледующуюТекстуруТемыФишекМаджонга = мир =>
|
||||||
|
{
|
||||||
|
console.debug("загрузить следующую текстуру темы фишек маджонга");
|
||||||
|
const загрузка = мир.загрузкаТемыФишек;
|
||||||
|
var тема = мир.темыФишек[загрузка.имя];
|
||||||
|
var имяМодуляРесурсов = тема["🗿"];
|
||||||
|
var модуль = мир.модули.модульПоИмени(имяМодуляРесурсов);
|
||||||
|
var ресурс = тема[загрузка.номер];
|
||||||
|
var содержимое = модуль.содержимое[ресурс];
|
||||||
|
var b64 = base64js.fromByteArray(new Uint8Array(содержимое));
|
||||||
|
// Текстуры ожидаем в формате PNG.
|
||||||
|
var адрес = `data:image/png;base64,${b64}`;
|
||||||
|
мир.загрузчикТекстур.load(
|
||||||
|
адрес,
|
||||||
|
function(текстура) {
|
||||||
|
текстура.flipY = false;
|
||||||
|
мир.текстурыТемФишек[загрузка.имя][загрузка.номер] = текстура;
|
||||||
|
мир.уведомить("загрузили текстуру темы фишек маджонга");
|
||||||
|
},
|
||||||
|
null,
|
||||||
|
function(error) {
|
||||||
|
console.error("ОШИБКА | ERROR", error);
|
||||||
|
мир.уведомить("не загрузили текстуру темы фишек маджонга");
|
||||||
|
}
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
ПодготовитьсяКЗагрузкеТемыФишекМаджонга = мир =>
|
||||||
|
{
|
||||||
|
console.debug("ПодготовитьсяКЗагрузкеТемыФишекМаджонга");
|
||||||
|
|
||||||
|
мир.загрузкаТемыФишек = {
|
||||||
|
"номер": 1,
|
||||||
|
"всего": 42,
|
||||||
|
"имя": мир.темаФишек,
|
||||||
|
};
|
||||||
|
мир.текстурыТемФишек = {};
|
||||||
|
мир.текстурыТемФишек[мир.загрузкаТемыФишек.имя] = {};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
ЗагрузитьТемуФишекМаджонга = мир =>
|
||||||
|
{
|
||||||
|
мир.уведомить("надо загрузить тему фишек маджонга");
|
||||||
|
};
|
||||||
|
|
||||||
11
тема|theme.череда
Normal file
11
тема|theme.череда
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
надо загрузить тему фишек маджонга
|
||||||
|
подготовиться к загрузке темы фишек маджонга
|
||||||
|
загрузить следующую текстуру темы фишек маджонга
|
||||||
|
загрузили текстуру темы фишек маджонга
|
||||||
|
проверить наличие всех загруженных текстур темы фишек маджонга
|
||||||
|
не загрузили текстуру темы фишек маджонга
|
||||||
|
уведомить о неудачной загрузке темы фишек маджонга
|
||||||
|
загружены не все текстуры темы фишек маджонга
|
||||||
|
загрузить следующую текстуру темы фишек маджонга
|
||||||
|
загружены все текстуры темы фишек маджонга
|
||||||
|
уведомить об успешной загрузке темы фишек маджонга
|
||||||
Reference in New Issue
Block a user