// // // // уФишкиЕстьСоседи = (индексы, позиция, смещениеСлоя, смещениеСтолбца) => { for (var смещениеРяда = -1; смещениеРяда < 2; ++смещениеРяда) { var позицияСоседа = [ позиция[0] + смещениеСлоя, позиция[1] + смещениеРяда, позиция[2] + смещениеСтолбца, ]; var индексСоседа = индексПозицииФишки(позицияСоседа); if (индексСоседа in индексы) { return true; } } return false; }; // // // // позицияИндексаФишки = (индекс) => { const x = индекс / 1000000; const y = (индекс - x * 1000000) / 1000; const z = индекс - x * 1000000 - y * 1000; return [x, y, z]; }; // // // // индексПозицииФишки = (позиция) => { return позиция[0] * 1000000 + позиция[1] * 1000 + позиция[2]; }; // // // // номерФишки = (фишки, id) => { for (var номер in фишки) { var фишка = фишки[номер]; if (фишка.id == id) { return номер; } } return null; };