diff --git a/0000 b/0000 index ef5e356..d72700b 100644 --- a/0000 +++ b/0000 @@ -1,5 +1,5 @@ Механика Маджонга -0.2.0 +0.3.0 https://git.opengamestudio.org/MAOH/MEXMA x /⨐.js diff --git a/🎬.js b/🎬.js index 4438a7e..64496e9 100644 --- a/🎬.js +++ b/🎬.js @@ -1,3 +1,77 @@ +УведомитьОРезультатеЕслиКонец = мир => +{ + 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 мир.убранныеФишкиМаджонга) diff --git a/🎬.череда b/🎬.череда index a5e319d..06e0ed7 100644 --- a/🎬.череда +++ b/🎬.череда @@ -5,4 +5,8 @@ выбрали пару фишек маджонга одной группы убрать выбранную пару фишек маджонга с задержкой убрали фишки маджонга - очистить индексы фишек маджонга от убранных \ No newline at end of file + очистить индексы фишек маджонга от убранных + собрать доступные для выбора номера фишек маджонга + подсчитать количество ходов в маджонге +изменили количество ходов в маджонге + уведомить о результате если конец \ No newline at end of file