Переглянути джерело

Изменения от Главреда ГитЖС | Changes of GitJS Glavred

M-0.1.0
Главред | Glavred 4 роки тому
джерело
коміт
bed828e0b8
4 змінених файлів з 143 додано та 41 видалено
  1. +2
    -2
      загрузка|loading.js
  2. +103
    -36
      фишки|tiles.js
  3. +14
    -3
      фишки|tiles.череда
  4. +24
    -0
      функции|functions.js

+ 2
- 2
загрузка|loading.js Переглянути файл

@@ -25,8 +25,8 @@ const ИМЯ_ОТЛ_РАСКЛАДКИ = "Отладочные раскладк
ЗагрузитьОтладочнуюРаскладку = мир =>
{
var модуль = мир.модули.модульПоИмени(ИМЯ_ОТЛ_РАСКЛАДКИ);
//var ресурс = "/успех|success.layout";
var ресурс = "/провал|failure.layout";
var ресурс = "/успех|success.layout";
//var ресурс = "/провал|failure.layout";
var содержимое = модуль.содержимое[ресурс];
мир.раскладкаKMahjongg = {
"содержимое": содержимое,


+ 103
- 36
фишки|tiles.js Переглянути файл

@@ -3,6 +3,106 @@
// // // //


ВывестиПобеду = мир =>
{
console.debug("ПОБЕДА");
};


// // // //


ВывестиПоражение = мир =>
{
console.debug("ПОРАЖЕНИЕ");
};


// // // //


ПроверитьНаличиеФишекНаИгровомПоле = мир =>
{
if (Object.keys(мир.индексыФишек).length > 0)
{
мир.уведомить("фишки на игровом поле присутствуют");
}
else {
мир.уведомить("фишки на игровом поле отсутствуют");
}
};


// // // //


ВывестиПрисутствиеХодов = мир =>
{
console.debug("ходы есть");
};


// // // //


ВывестиОтсутствиеХодов = мир =>
{
console.debug("ходов нет");
};


// // // //


ПроверитьНаличиеХодов = мир =>
{
var номера = мир.доступныеДляВыбораНомераФишек;
for (var н0 in номера)
{
for (var н1 in номера)
{
// Пропускаем одну и ту же фишку.
if (н0 == н1)
{
continue;
}
var номер0 = номера[н0];
var номер1 = номера[н1];
var группа0 = мир.группыФишек[номер0];
var группа1 = мир.группыФишек[номер1];
if (группа0 == группа1)
{
мир.уведомить("ходы присутствуют");
return;
}
}
}
мир.уведомить("ходы отсутствуют");
};


// // // //


СобратьДоступныеДляВыбораНомераФишек = мир =>
{
мир.доступныеДляВыбораНомераФишек = [];
for (индекс in мир.индексыФишек)
{
if (фишкуМожноВыбрать(мир.индексыФишек, индекс))
{
var фишка = мир.индексыФишек[индекс];
var номер = номерФишки(мир.фишки, фишка.id);
мир.доступныеДляВыбораНомераФишек.push(номер);
}
}
};


// // // //


ЗапуститьПлавноеСкрытиеФишек = мир =>
{
var шаг = 10;
@@ -11,7 +111,6 @@
var дельтаПрозрачности = шаг / длительность;
const анимация = setInterval(
function() {
const позиции = мир.раскладкаKMahjongg.позиции;
прозрачность -= дельтаПрозрачности;
// Возвращаем прозрачность материалам перед последующим скрытием фишек.
// И планируем выход из этой анимации.
@@ -214,25 +313,6 @@

ОкраситьНайденнуюФишку = мир =>
{
/*
// Очищаем цвета всех фишек.
for (var номер in мир.фишки)
{
var фишка = мир.фишки[номер];
var группа = мир.группыФишек[номер];
var материал = мир.материалыФишек[группа];
фишка.material = материал;
}
// Окрашиваем выбранные фишки.
for (var id in мир.номераВыбранныхФишек)
{
var номер = мир.номераВыбранныхФишек[id];
var фишка = мир.фишки[номер];
var группа = мир.группыФишек[номер];
var материал = мир.материалыВыбранныхФишек[группа];
фишка.material = материал;
}
*/
var номер = мир.номерНайденнойФишки;
var фишка = мир.фишки[номер];
var группа = мир.группыФишек[номер];
@@ -266,25 +346,12 @@

ПроверитьДоступностьФишкиДляВыбора = мир =>
{
// Проверяем заблокированность фишки одновременно с обеих сторон.
var позиция = мир.раскладкаKMahjongg.позиции[мир.номерНайденнойФишки];
var слева = уФишкиЕстьСоседи(мир.индексыФишек, позиция, 0, -2);
var справа = уФишкиЕстьСоседи(мир.индексыФишек, позиция, 0, 2);
if (слева && справа)
{
return;
}

// Проверяем заблокированность сверху.
for (var смещениеСтолбца = -1; смещениеСтолбца < 2; ++смещениеСтолбца)
var индекс = индексПозицииФишки(позиция);
if (фишкуМожноВыбрать(мир.индексыФишек, индекс))
{
if (уФишкиЕстьСоседи(мир.индексыФишек, позиция, 1, смещениеСтолбца))
{
return;
}
мир.уведомить("фишка доступна для выбора");
}
мир.уведомить("фишка доступна для выбора");
};




+ 14
- 3
фишки|tiles.череда Переглянути файл

@@ -26,10 +26,10 @@
отключить возможность поиска фишки
сравнить выбранные фишки
фишки совпадают
вывести совпадение фишек
# вывести совпадение фишек
плавно скрыть фишки
фишки не совпадают
вывести различие фишек
# вывести различие фишек
очистить окрашивание первой найденной фишки
очистить выбор первой найденной фишки
включить возможность поиска фишки
@@ -40,4 +40,15 @@
скрыть совпадающие фишки
очистить индексы выбранных фишек
очистить выбор фишек
включить возможность поиска фишки
собрать доступные для выбора номера фишек
проверить наличие ходов
ходы присутствуют
вывести присутствие ходов
включить возможность поиска фишки
ходы отсутствуют
вывести отсутствие ходов
проверить наличие фишек на игровом поле
фишки на игровом поле присутствуют
вывести поражение
фишки на игровом поле отсутствуют
вывести победу

+ 24
- 0
функции|functions.js Переглянути файл

@@ -1,5 +1,29 @@


фишкуМожноВыбрать = (индексы, индекс) =>
{
var позиция = позицияИндексаФишки(индекс);
// Проверяем заблокированность фишки одновременно с обеих сторон.
var слева = уФишкиЕстьСоседи(индексы, позиция, 0, -2);
var справа = уФишкиЕстьСоседи(индексы, позиция, 0, 2);
if (слева && справа)
{
return false;
}

// Проверяем заблокированность сверху.
for (var смещениеСтолбца = -1; смещениеСтолбца < 2; ++смещениеСтолбца)
{
if (уФишкиЕстьСоседи(индексы, позиция, 1, смещениеСтолбца))
{
return false;
}
}
return true;
};


// // // //




Завантаження…
Відмінити
Зберегти