top static method

int top(
  1. Box cube,
  2. Direction direction,
  3. int position,
  4. List<int> moment,
)

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)],
  };
}