// 根据旋转方式调整 red 面的状态 switch (rotation) { case CLOCKWISE: // 顺时针旋转 red 面 for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { temp[i][j] = up[i][j]; } } for (int i = 0; i < 3; i++) { left[i][0] = temp[2 - i][0]; down[0][i] = left[2 - i][2]; right[i][2] = down[0][2 - i]; up[0][i] = right[2 - i][0]; } for (int i = 0; i < 3; i++) { front[0][2 - i] = temp[0][i]; } break; case COUNTERCLOCKWISE: // 逆时针旋转 red 面 for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { temp[i][j] = up[i][j]; } } for (int i = 0; i < 3; i++) { right[i][2] = temp[i][0]; down[0][i] = right[2 - i][2]; left[i][0] = down[0][2 - i]; up[0][i] = left[2 - i][0]; } for (int i = 0; i < 3; i++) { front[0][i] = temp[0][2 - i]; } break; case DOUBLE: // 双面旋转 red 面 for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { temp[i][j] = up[i][j]; } } for (int i = 0; i < 3; i++) { left[i][0] = temp[2 - i][0]; right[i][2] = temp[2 - i][2]; up[0][i] = temp[0][2 - i]; down[0][i] = temp[2][2 - i]; } for (int i = 0; i < 3; i++) { front[0][2 - i] = temp[0][i]; back[0][i] = temp[2][2 - i]; } break; }

魔方旋转算法代码:RED 面旋转实现

原文地址: https://www.cveoy.top/t/topic/nj95 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录