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
|
||||
https://git.opengamestudio.org/mahjong/mahjong-osnova-base
|
||||
|
||||
x /интерфейс|ui.js
|
||||
/интерфейс|ui.череда
|
||||
x /пуск|run.js
|
||||
/пуск|run.череда
|
||||
x /тема|theme.js
|
||||
/тема|theme.череда
|
||||
x /функции|functions.js
|
||||
/тема|theme.череда
|
||||
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 загрузка = мир.загрузкаТемыФишек;
|
||||
var тема = мир.темыФишек[загрузка.имя];
|
||||
var тема = мир.реестрТемФишек[загрузка.имя];
|
||||
var имяМодуляРесурсов = тема["🗿"];
|
||||
var модуль = мир.модули.модульПоИмени(имяМодуляРесурсов);
|
||||
var ресурс = тема[загрузка.номер];
|
||||
@@ -73,7 +73,7 @@
|
||||
мир.загрузкаТемыФишек = {
|
||||
"номер": 1,
|
||||
"всего": 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