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

This commit is contained in:
Главред | Glavred
2020-09-18 15:05:50 +03:00
parent bc55dd6962
commit 797f6bef17
3 changed files with 211 additions and 41 deletions

View File

@@ -3,6 +3,159 @@
// // // //
ОчиститьВыборПервойНайденнойФишки = мир =>
{
мир.номераВыбранныхФишек.shift();
};
// // // //
ОчиститьОкрашиваниеПервойНайденнойФишки = мир =>
{
var номер = мир.номераВыбранныхФишек[0];
var фишка = мир.фишки[номер];
var группа = мир.группыФишек[номер];
var материал = мир.материалыФишек[группа];
фишка.material = материал;
};
// // // //
ВывестиРазличиеФишек = мир =>
{
console.debug("ВывестиРазличиеФишек");
};
// // // //
ВывестиСовпадениеФишек = мир =>
{
console.debug("ВывестиСовпадениеФишек");
};
// // // //
СравнитьВыбранныеФишки = мир =>
{
var номер0 = мир.номераВыбранныхФишек[0];
var группа0 = мир.группыФишек[номер0];
var номер1 = мир.номераВыбранныхФишек[1];
var группа1 = мир.группыФишек[номер1];
if (группа0 == группа1)
{
мир.уведомить("фишки совпадают");
}
else
{
мир.уведомить("фишки не совпадают");
}
};
// // // //
ПроверитьНаличиеДвухВыбранныхФишек = мир =>
{
if (мир.номераВыбранныхФишек.length == 2)
{
мир.уведомить("выбраны две фишки");
}
};
// // // //
ОкраситьНайденнуюФишку = мир =>
{
/*
// Очищаем цвета всех фишек.
for (var номер in мир.фишки)
{
var фишка = мир.фишки[номер];
var группа = мир.группыФишек[номер];
var материал = мир.материалыФишек[группа];
фишка.material = материал;
}
// Окрашиваем выбранные фишки.
for (var id in мир.номераВыбранныхФишек)
{
var номер = мир.номераВыбранныхФишек[id];
var фишка = мир.фишки[номер];
var группа = мир.группыФишек[номер];
var материал = мир.материалыВыбранныхФишек[группа];
фишка.material = материал;
}
*/
var номер = мир.номерНайденнойФишки;
var фишка = мир.фишки[номер];
var группа = мир.группыФишек[номер];
var материал = мир.материалыВыбранныхФишек[группа];
фишка.material = материал;
};
// // // //
ВывестиВыбраннуюФишку = мир =>
{
var номер = мир.номерНайденнойФишки;
var группа = мир.группыФишек[номер];
console.debug(`ВЫБРАЛИ фишку. номер: '${номер}' группа: '${группа}'`);
};
// // // //
ВыбратьНайденнуюФишку = мир =>
{
мир.номераВыбранныхФишек.push(мир.номерНайденнойФишки);
мир.уведомить("выбрали фишку");
};
// // // //
ПроверитьДоступностьФишкиДляВыбора = мир =>
{
// Проверяем заблокированность фишки одновременно с обеих сторон.
var позиция = мир.раскладкаKMahjongg.позиции[мир.номерНайденнойФишки];
var слева = уФишкиЕстьСоседи(мир.индексыФишек, позиция, 0, -2);
var справа = уФишкиЕстьСоседи(мир.индексыФишек, позиция, 0, 2);
if (слева && справа)
{
return;
}
// Проверяем заблокированность сверху.
for (var смещениеСтолбца = -1; смещениеСтолбца < 2; ++смещениеСтолбца)
{
if (уФишкиЕстьСоседи(мир.индексыФишек, позиция, 1, смещениеСтолбца))
{
return;
}
}
мир.уведомить("фишка доступна для выбора");
};
// // // //
УведомитьОСозданииФишекВСцене = мир =>
{
мир.уведомить("создали фишки в сцене");
@@ -12,6 +165,15 @@
// // // //
ПодготовитьФишкиКВыбору = мир =>
{
мир.номераВыбранныхФишек = [];
};
// // // //
СоздатьИндексыФишек = мир =>
{
мир.индексыФишек = {};
@@ -29,44 +191,18 @@
// // // //
ОкраситьВыбранныеФишки = мир =>
ВывестиНайденнуюФишку = мир =>
{
// Очищаем цвета всех фишек.
for (var номер in мир.фишки)
{
var фишка = мир.фишки[номер];
var группа = мир.группыФишек[номер];
var материал = мир.материалыФишек[группа];
фишка.material = материал;
}
// Окрашиваем выбранные фишки.
for (var id in мир.номераВыбранныхФишек)
{
var номер = мир.номераВыбранныхФишек[id];
var фишка = мир.фишки[номер];
var группа = мир.группыФишек[номер];
var материал = мир.материалыВыбранныхФишек[группа];
фишка.material = материал;
}
};
// // // //
ВывестиВыбранныеФишки = мир =>
{
var номер = мир.номерВыбраннойФишки;
var номер = мир.номерНайденнойФишки;
var группа = мир.группыФишек[номер];
console.debug(`Выбрали фишку. номер: '${номер}' группа: '${группа}'`);
console.debug("Номера выбранных фишек", мир.номераВыбранныхФишек);
console.debug(`Нашли фишку. номер: '${номер}' группа: '${группа}'`);
};
// // // //
ВыбратьФишкуВКоординатахНажатия = мир =>
НайтиФишкуВКоординатахНажатия = мир =>
{
мир.ловецНажатий.setFromCamera(мир.позицияНажатия, мир.камера);
var пересечения = мир.ловецНажатий.intersectObjects(мир.корень.children);
@@ -76,9 +212,8 @@
var номер = номерФишки(мир.фишки, фишка.id);
if (номер)
{
мир.номерВыбраннойФишки = номер;
мир.номераВыбранныхФишек.push(номер);
мир.уведомить("выбор фишки");
мир.номерНайденнойФишки = номер;
мир.уведомить("нашли фишку в координатах нажатия");
}
}
@@ -103,9 +238,9 @@
// // // //
ПодготовитьВыборФишек = мир =>
ПодготовитьПоискФишек = мир =>
{
мир.номераВыбранныхФишек = [];
мир.номераНайденныхФишек = [];
};