|
- УведомитьОРезультатеЕслиКонец = мир =>
- {
- if (мир.количествоХодовВМаджонге != 0)
- {
- return;
- }
-
- var фишкиОстались = Object.keys(мир.индексыФишекМаджонга).length > 0;
- if (фишкиОстались)
- {
- мир.уведомить("поражение в маджонге");
- }
- else
- {
- мир.уведомить("победа в маджонге");
- }
- };
-
-
- // // // //
-
-
- ПодсчитатьКоличествоХодовВМаджонге = мир =>
- {
- var номера = мир.доступныеДляВыбораНомераФишекМаджонга;
- var фишки = мир.фишкиМаджонга;
- var ходов = 0;
-
- for (var н0 in номера)
- {
- н0 = Number(н0);
- // Исключаем уже просмотренные номера.
- for (var н1 = н0 + 1; н1 < номера.length; ++н1)
- {
- var номер0 = номера[н0];
- var номер1 = номера[н1];
- var группа0 = фишки[номер0]["🚩"];
- var группа1 = фишки[номер1]["🚩"];
- if (группа0 == группа1)
- {
- ++ходов;
- }
- }
- }
-
- мир.количествоХодовВМаджонге = ходов;
- мир.уведомить("изменили количество ходов в маджонге");
- };
-
-
- // // // //
-
-
- СобратьДоступныеДляВыбораНомераФишекМаджонга = мир =>
- {
- var индексы = мир.индексыФишекМаджонга;
- var номера = [];
-
- for (индекс in индексы)
- {
- if (фишкуМаджонгаМожноВыбрать(индексы, индекс))
- {
- var номер = индексы[индекс];
- номера.push(номер);
- }
- }
-
- мир.доступныеДляВыбораНомераФишекМаджонга = номера;
- };
-
-
- // // // //
-
-
- ОчиститьИндексыФишекМаджонгаОтУбранных = мир =>
- {
- for (var номер in мир.убранныеФишкиМаджонга)
- {
- var н = мир.убранныеФишкиМаджонга[номер];
- var позиция = мир.фишкиМаджонга[н]["📍"];
- var индекс = индексПозицииФишкиМаджонга(позиция);
- delete мир.индексыФишекМаджонга[индекс];
- }
- };
-
-
- // // // //
-
-
- УбратьВыбраннуюПаруФишекМаджонгаСЗадержкой = мир =>
- {
- setTimeout(
- function() {
- мир.убранныеФишкиМаджонга = мир.выбранныеФишкиМаджонга.slice();
- мир.выбранныеФишкиМаджонга = [];
- мир.уведомить("изменили выбранные фишки маджонга");
- мир.уведомить("убрали фишки маджонга");
- },
- мир.задержкаУбиранияФишекМаджонга
- );
- };
-
-
- // // // //
-
-
- ИсключитьИзВыбранныхФишекМаджонгаПервую = мир =>
- {
- мир.выбранныеФишкиМаджонга.shift();
- мир.уведомить("изменили выбранные фишки маджонга");
- };
-
-
- // // // //
-
-
- СравнитьПаруВыбранныхФишекМаджонга = мир =>
- {
- // Удостоверяемся в наличии двух фишек.
- if (мир.выбранныеФишкиМаджонга.length != 2)
- {
- return;
- }
- var н1 = мир.выбранныеФишкиМаджонга[0];
- var н2 = мир.выбранныеФишкиМаджонга[1];
- var г1 = мир.фишкиМаджонга[н1]["🚩"];
- var г2 = мир.фишкиМаджонга[н2]["🚩"];
- if (г1 == г2)
- {
- мир.уведомить("выбрали пару фишек маджонга одной группы");
- }
- else
- {
- мир.уведомить("выбрали пару фишек маджонга разных групп");
- }
- };
|