Project/Cube 2007. 2. 13. 17:09

[06/02/13] cube_basic 회전 함수 코딩


각 회전 방향의 옆면 이동 방식으로 모든 회전은 시계방향으로 90'씩 이동한다.
사용자 삽입 이미지
추가 함수
 void rotateFace(int faceNum)
   각 면의 회전  ex) turnB : 2면,    turnR : 1면

 inline int mod(int &t) { return t=t%4;}
   회전수가 4회 이상일때 같은 결과를 반복하므로 4로나눈 나머지 만큼 회전

 inline int changeFour(short int &a,short int &b,short int &c,short int &d)
   모든 회전에서 matching 되는 위치는 4개 이다. 즉 이 4개의 위치가 서로 자리를 밀어내는
  형태로 회전이 일어나므로 4개의 값을 입력 받으면 a<-b<-c<-d<-a 와 같은 방식으로 변환