top static method
Implementation
static int top(
Box cube,
Direction direction,
int position,
List<int> moment,
) {
return switch (direction) {
Direction.red =>
moment[getIndex(position, cube.g1, cube.b1)] -
moment[getIndex(position, cube.g1, cube.b0)] -
moment[getIndex(position, cube.g0, cube.b1)] +
moment[getIndex(position, cube.g0, cube.b0)],
Direction.green =>
moment[getIndex(cube.r1, position, cube.b1)] -
moment[getIndex(cube.r1, position, cube.b0)] -
moment[getIndex(cube.r0, position, cube.b1)] +
moment[getIndex(cube.r0, position, cube.b0)],
Direction.blue =>
moment[getIndex(cube.r1, cube.g1, position)] -
moment[getIndex(cube.r1, cube.g0, position)] -
moment[getIndex(cube.r0, cube.g1, position)] +
moment[getIndex(cube.r0, cube.g0, position)],
};
}