Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0cb4f852a6 | ||
|
|
a2a1f93e26 | ||
|
|
60c88b0cc3 | ||
|
|
51c03c9336 | ||
|
|
6f6252e0f0 | ||
|
|
3a8ccac72e | ||
|
|
24fdabc74e | ||
|
|
8220aeb2f0 |
5
0000
5
0000
@@ -2,10 +2,7 @@
|
|||||||
1.0.0
|
1.0.0
|
||||||
https://git.opengamestudio.org/mahjong/mahjong-osnova-base
|
https://git.opengamestudio.org/mahjong/mahjong-osnova-base
|
||||||
|
|
||||||
x /интерфейс|ui.js
|
|
||||||
/интерфейс|ui.череда
|
|
||||||
x /пуск|run.js
|
x /пуск|run.js
|
||||||
/пуск|run.череда
|
/пуск|run.череда
|
||||||
x /тема|theme.js
|
x /тема|theme.js
|
||||||
/тема|theme.череда
|
/тема|theme.череда
|
||||||
x /функции|functions.js
|
|
||||||
366
интерфейс|ui.js
366
интерфейс|ui.js
@@ -1,366 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
// // // //
|
|
||||||
|
|
||||||
|
|
||||||
ЗадатьПораженческоеСодержимоеОкнуОкончания = мир =>
|
|
||||||
{
|
|
||||||
$(`#${мир.окна.окончание.указатель}-содержимое`).html(`
|
|
||||||
|
|
||||||
<span class="uk-text-large">Поражение</span>
|
|
||||||
⚬ <span class="uk-text-large uk-text-bold">失败</span> ⚬
|
|
||||||
<span class="uk-text-large">Defeat</span>
|
|
||||||
|
|
||||||
`);
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// // // //
|
|
||||||
|
|
||||||
|
|
||||||
ЗадатьПобедноеСодержимоеОкнуОкончания = мир =>
|
|
||||||
{
|
|
||||||
$(`#${мир.окна.окончание.указатель}-содержимое`).html(`
|
|
||||||
|
|
||||||
<span class="uk-text-large">Победа</span>
|
|
||||||
⚬ <span class="uk-text-large uk-text-bold">胜利</span> ⚬
|
|
||||||
<span class="uk-text-large">Victory</span>
|
|
||||||
|
|
||||||
`);
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// // // //
|
|
||||||
|
|
||||||
|
|
||||||
ПлавноПоказатьОкноОкончания = мир =>
|
|
||||||
{
|
|
||||||
const css = `
|
|
||||||
|
|
||||||
#${мир.окна.окончание.указатель}
|
|
||||||
{
|
|
||||||
opacity: 0;
|
|
||||||
animation: ${мир.окна.окончание.указатель}ПлавноПоказать 0.5s ease;
|
|
||||||
animation-fill-mode: forwards;
|
|
||||||
}
|
|
||||||
|
|
||||||
`;
|
|
||||||
мир.окна.окончание.анимация.innerHTML = css;
|
|
||||||
мир.окна.окончание.элемент.style.display = "block";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// // // //
|
|
||||||
|
|
||||||
|
|
||||||
ПодготовитьАнимациюОкнаОкончания = мир =>
|
|
||||||
{
|
|
||||||
мир.окна.окончание.анимация = document.createElement("style");
|
|
||||||
document.head.appendChild(мир.окна.окончание.анимация);
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// // // //
|
|
||||||
|
|
||||||
|
|
||||||
ЗадатьВидИАнимациюОкнаОкончания = мир =>
|
|
||||||
{
|
|
||||||
const css = `
|
|
||||||
|
|
||||||
#${мир.окна.окончание.указатель}-тело
|
|
||||||
{
|
|
||||||
position: absolute;
|
|
||||||
left: 50%;
|
|
||||||
top: 50%;
|
|
||||||
transform: translateX(-50%) translateY(-50%);
|
|
||||||
}
|
|
||||||
#${мир.окна.окончание.указатель}
|
|
||||||
{
|
|
||||||
background-color: white;
|
|
||||||
position: fixed;
|
|
||||||
left: 0;
|
|
||||||
top: 0;
|
|
||||||
right: 0;
|
|
||||||
bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes ${мир.окна.окончание.указатель}ПлавноСкрыть
|
|
||||||
{
|
|
||||||
0%
|
|
||||||
{
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
100%
|
|
||||||
{
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes ${мир.окна.окончание.указатель}ПлавноПоказать
|
|
||||||
{
|
|
||||||
0%
|
|
||||||
{
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
100%
|
|
||||||
{
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
`;
|
|
||||||
var вид = document.createElement("style");
|
|
||||||
вид.innerHTML = css;
|
|
||||||
document.head.appendChild(вид);
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// // // //
|
|
||||||
|
|
||||||
|
|
||||||
СоздатьОкноОкончания = мир =>
|
|
||||||
{
|
|
||||||
мир.окна.окончание = {
|
|
||||||
"указатель": "окно-окончания",
|
|
||||||
};
|
|
||||||
const html = `
|
|
||||||
|
|
||||||
<div id="${мир.окна.окончание.указатель}-тело">
|
|
||||||
<center>
|
|
||||||
<span id="${мир.окна.окончание.указатель}-содержимое">
|
|
||||||
</span>
|
|
||||||
<hr class="uk-divider-icon">
|
|
||||||
<p>
|
|
||||||
<a href="https://twitter.com/opengamestudio" target="_blank" class="uk-icon-button" uk-icon="twitter"></a>
|
|
||||||
</p>
|
|
||||||
</center>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
`;
|
|
||||||
|
|
||||||
var окно = document.createElement("div");
|
|
||||||
окно.id = мир.окна.окончание.указатель;
|
|
||||||
окно.innerHTML = html;
|
|
||||||
document.body.appendChild(окно);
|
|
||||||
окно.style.display = "none";
|
|
||||||
мир.окна.окончание.элемент = окно;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// // // //
|
|
||||||
|
|
||||||
|
|
||||||
ОтключитьОкноПриветствия = мир =>
|
|
||||||
{
|
|
||||||
мир.окна.приветствие.элемент.style.display = "none";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// // // //
|
|
||||||
|
|
||||||
|
|
||||||
ВыбратьРаскладкуПровальную = мир =>
|
|
||||||
{
|
|
||||||
мир.выбраннаяРаскладка = "😭";
|
|
||||||
мир.уведомить("выбрали раскладку");
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// // // //
|
|
||||||
|
|
||||||
|
|
||||||
ВыбратьРаскладкуУспешную = мир =>
|
|
||||||
{
|
|
||||||
мир.выбраннаяРаскладка = "😀";
|
|
||||||
мир.уведомить("выбрали раскладку");
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// // // //
|
|
||||||
|
|
||||||
|
|
||||||
ВыбратьРаскладкуX = мир =>
|
|
||||||
{
|
|
||||||
мир.выбраннаяРаскладка = "X";
|
|
||||||
мир.уведомить("выбрали раскладку");
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// // // //
|
|
||||||
|
|
||||||
|
|
||||||
ПлавноСкрытьОкноПриветствия = мир =>
|
|
||||||
{
|
|
||||||
const css = `
|
|
||||||
|
|
||||||
#${мир.окна.приветствие.указатель}
|
|
||||||
{
|
|
||||||
opacity: 1;
|
|
||||||
animation: ${мир.окна.приветствие.указатель}ПлавноСкрыть 0.5s ease;
|
|
||||||
animation-fill-mode: forwards;
|
|
||||||
animation-delay: 0.1s;
|
|
||||||
}
|
|
||||||
|
|
||||||
`;
|
|
||||||
мир.окна.приветствие.анимация.innerHTML = css;
|
|
||||||
мир.окна.приветствие.показываем = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// // // //
|
|
||||||
|
|
||||||
|
|
||||||
ПлавноПоказатьОкноПриветствия = мир =>
|
|
||||||
{
|
|
||||||
const css = `
|
|
||||||
|
|
||||||
#${мир.окна.приветствие.указатель}
|
|
||||||
{
|
|
||||||
opacity: 0;
|
|
||||||
animation: ${мир.окна.приветствие.указатель}ПлавноПоказать 1s ease;
|
|
||||||
animation-fill-mode: forwards;
|
|
||||||
}
|
|
||||||
|
|
||||||
`;
|
|
||||||
мир.окна.приветствие.анимация.innerHTML = css;
|
|
||||||
мир.окна.приветствие.показываем = true;
|
|
||||||
мир.окна.приветствие.элемент.style.display = "block";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// // // //
|
|
||||||
|
|
||||||
|
|
||||||
ПодготовитьАнимациюОкнаПриветствия = мир =>
|
|
||||||
{
|
|
||||||
мир.окна.приветствие.анимация = document.createElement("style");
|
|
||||||
document.head.appendChild(мир.окна.приветствие.анимация);
|
|
||||||
мир.окна.приветствие.показываем = true;
|
|
||||||
мир.окна.приветствие.элемент.addEventListener(
|
|
||||||
"animationend",
|
|
||||||
function()
|
|
||||||
{
|
|
||||||
if (мир.окна.приветствие.показываем)
|
|
||||||
{
|
|
||||||
мир.уведомить("плавно показали окно приветствия");
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
мир.уведомить("плавно скрыли окно приветствия");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// // // //
|
|
||||||
|
|
||||||
|
|
||||||
ЗадатьВидИАнимациюОкнаПриветствия = мир =>
|
|
||||||
{
|
|
||||||
const css = `
|
|
||||||
|
|
||||||
#${мир.окна.приветствие.указатель}-тело
|
|
||||||
{
|
|
||||||
position: absolute;
|
|
||||||
left: 50%;
|
|
||||||
top: 50%;
|
|
||||||
transform: translateX(-50%) translateY(-50%);
|
|
||||||
}
|
|
||||||
#${мир.окна.приветствие.указатель}
|
|
||||||
{
|
|
||||||
background-color: white;
|
|
||||||
position: fixed;
|
|
||||||
left: 0;
|
|
||||||
top: 0;
|
|
||||||
right: 0;
|
|
||||||
bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes ${мир.окна.приветствие.указатель}ПлавноСкрыть
|
|
||||||
{
|
|
||||||
0%
|
|
||||||
{
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
100%
|
|
||||||
{
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes ${мир.окна.приветствие.указатель}ПлавноПоказать
|
|
||||||
{
|
|
||||||
0%
|
|
||||||
{
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
100%
|
|
||||||
{
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
`;
|
|
||||||
var вид = document.createElement("style");
|
|
||||||
вид.innerHTML = css;
|
|
||||||
document.head.appendChild(вид);
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// // // //
|
|
||||||
|
|
||||||
|
|
||||||
СоздатьОкноПриветствия = мир =>
|
|
||||||
{
|
|
||||||
мир.окна.приветствие = {
|
|
||||||
"указатель": "окно-приветствия",
|
|
||||||
};
|
|
||||||
const html = `
|
|
||||||
|
|
||||||
<div id="${мир.окна.приветствие.указатель}-тело">
|
|
||||||
<center>
|
|
||||||
<p>
|
|
||||||
<span class="uk-text-large">Маджонг</span>
|
|
||||||
⚬ <span class="uk-text-large uk-text-bold">麻将</span> ⚬
|
|
||||||
<span class="uk-text-large">Mahjong</span>
|
|
||||||
</p>
|
|
||||||
<span>${мир.версия}</span>
|
|
||||||
<hr class="uk-divider-icon">
|
|
||||||
<p uk-margin>
|
|
||||||
<p>Выберите раскладку | 选择布局 | Select layout</p>
|
|
||||||
<button id="${мир.окна.приветствие.указатель}-X" class="uk-button uk-button-default">X</button>
|
|
||||||
<button id="${мир.окна.приветствие.указатель}-😀" class="uk-button uk-button-default">😀</button>
|
|
||||||
<button id="${мир.окна.приветствие.указатель}-😭" class="uk-button uk-button-default">😭</button>
|
|
||||||
</p>
|
|
||||||
</center>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
`;
|
|
||||||
|
|
||||||
var окно = document.createElement("div");
|
|
||||||
окно.id = мир.окна.приветствие.указатель;
|
|
||||||
окно.innerHTML = html;
|
|
||||||
document.body.appendChild(окно);
|
|
||||||
окно.style.display = "none";
|
|
||||||
мир.окна.приветствие.элемент = окно;
|
|
||||||
|
|
||||||
$(`#${мир.окна.приветствие.указатель}-X`).click(function() {
|
|
||||||
мир.уведомить("кнопка раскладки X");
|
|
||||||
});
|
|
||||||
$(`#${мир.окна.приветствие.указатель}-😀`).click(function() {
|
|
||||||
мир.уведомить("кнопка раскладки 😀");
|
|
||||||
});
|
|
||||||
$(`#${мир.окна.приветствие.указатель}-😭`).click(function() {
|
|
||||||
мир.уведомить("кнопка раскладки 😭");
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// // // //
|
|
||||||
|
|
||||||
|
|
||||||
СоздатьХранилищеОкон = мир =>
|
|
||||||
{
|
|
||||||
мир.окна = {};
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
пуск модулей маджонга
|
|
||||||
создать хранилище окон
|
|
||||||
создать окно приветствия
|
|
||||||
задать вид и анимацию окна приветствия
|
|
||||||
подготовить анимацию окна приветствия
|
|
||||||
создать окно окончания
|
|
||||||
задать вид и анимацию окна окончания
|
|
||||||
подготовить анимацию окна окончания
|
|
||||||
плавно показать окно приветствия
|
|
||||||
кнопка раскладки X
|
|
||||||
выбрать раскладку X
|
|
||||||
кнопка раскладки 😀
|
|
||||||
выбрать раскладку успешную
|
|
||||||
кнопка раскладки 😭
|
|
||||||
выбрать раскладку провальную
|
|
||||||
выбрали раскладку
|
|
||||||
плавно скрыть окно приветствия
|
|
||||||
плавно скрыли окно приветствия
|
|
||||||
отключить окно приветствия
|
|
||||||
победа
|
|
||||||
задать победное содержимое окну окончания
|
|
||||||
плавно показать окно окончания
|
|
||||||
поражение
|
|
||||||
задать пораженческое содержимое окну окончания
|
|
||||||
плавно показать окно окончания
|
|
||||||
36
пуск|run.js
36
пуск|run.js
@@ -3,6 +3,42 @@
|
|||||||
// // // //
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
СоздатьРеестрТемФишек = мир =>
|
||||||
|
{
|
||||||
|
мир.реестрТемФишек = {};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
СоздатьРеестрРаскладок = мир =>
|
||||||
|
{
|
||||||
|
мир.реестрРаскладок = {};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
СоздатьХранилищеОкон = мир =>
|
||||||
|
{
|
||||||
|
мир.окна = {};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
ВывестиРазмерОкнаБраузера = мир =>
|
||||||
|
{
|
||||||
|
console.debug("размер окна:", window.innerWidth, window.innerHeight);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
ЗапуститьМодулиМаджонга = мир =>
|
ЗапуститьМодулиМаджонга = мир =>
|
||||||
{
|
{
|
||||||
мир.уведомить("пуск модулей маджонга");
|
мир.уведомить("пуск модулей маджонга");
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
пуск маджонга
|
пуск маджонга
|
||||||
задать заголовок браузера
|
задать заголовок браузера
|
||||||
запустить модули маджонга
|
создать хранилище окон
|
||||||
|
создать реестр раскладок
|
||||||
|
создать реестр тем фишек
|
||||||
|
запустить модули маджонга
|
||||||
|
|
||||||
|
изменили размер окна браузера
|
||||||
|
вывести размер окна браузера
|
||||||
@@ -41,7 +41,7 @@
|
|||||||
ЗагрузитьСледующуюТекстуруТемыФишекМаджонга = мир =>
|
ЗагрузитьСледующуюТекстуруТемыФишекМаджонга = мир =>
|
||||||
{
|
{
|
||||||
const загрузка = мир.загрузкаТемыФишек;
|
const загрузка = мир.загрузкаТемыФишек;
|
||||||
var тема = мир.темыФишек[загрузка.имя];
|
var тема = мир.реестрТемФишек[загрузка.имя];
|
||||||
var имяМодуляРесурсов = тема["🗿"];
|
var имяМодуляРесурсов = тема["🗿"];
|
||||||
var модуль = мир.модули.модульПоИмени(имяМодуляРесурсов);
|
var модуль = мир.модули.модульПоИмени(имяМодуляРесурсов);
|
||||||
var ресурс = тема[загрузка.номер];
|
var ресурс = тема[загрузка.номер];
|
||||||
@@ -73,7 +73,7 @@
|
|||||||
мир.загрузкаТемыФишек = {
|
мир.загрузкаТемыФишек = {
|
||||||
"номер": 1,
|
"номер": 1,
|
||||||
"всего": 42,
|
"всего": 42,
|
||||||
"имя": мир.темаФишек,
|
"имя": мир.выбраннаяТема,
|
||||||
};
|
};
|
||||||
мир.текстурыТемФишек = {};
|
мир.текстурыТемФишек = {};
|
||||||
мир.текстурыТемФишек[мир.загрузкаТемыФишек.имя] = {};
|
мир.текстурыТемФишек[мир.загрузкаТемыФишек.имя] = {};
|
||||||
|
|||||||
@@ -1,17 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
// // // //
|
|
||||||
|
|
||||||
|
|
||||||
добавитьОкно = (id, html, css) =>
|
|
||||||
{
|
|
||||||
var окно = document.createElement("div");
|
|
||||||
окно.id = id;
|
|
||||||
окно.innerHTML = html;
|
|
||||||
var вид = document.createElement("style");
|
|
||||||
вид.innerHTML = css;
|
|
||||||
document.body.appendChild(окно);
|
|
||||||
document.head.appendChild(вид);
|
|
||||||
return окно;
|
|
||||||
};
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user