-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcube.js
More file actions
25 lines (25 loc) · 1.39 KB
/
Copy pathcube.js
File metadata and controls
25 lines (25 loc) · 1.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
var solved=[[0,1,2,3,4,5,6,7,8],[9,10,11,12,13,14,15,16,17],[18,19,20,21,22,23,24,25,26],[27,28,29,30,31,32,33,34,35],[36,37,38,39,40,41,42,43,44],[45,46,47,48,49,50,51,52,53]],ms=["U","R","F","D","B","L","M","E","S","x","y","z","u","r","f","d","b","l"],am=["R M' L'","U E' D'","F S B'","U E'","R M'","F S","D E","B S'","L M"],as=[undefined,"2","'"],gs=["","2","'"],xf=[[[1,2,5,4],[0,4,3,2],[0,1,3,5],[1,4,5,2],[0,5,3,1],[0,2,3,4],[0,2,3,4],[2,1,4,5],[0,1,3,5]],[[0,0,0,0],[2,6,2,2],[4,6,0,2],[4,4,4,4],[0,6,4,2],[0,0,0,4],[1,1,1,5],[7,7,7,7],[7,1,3,5]],[[1,1,1,1],[3,7,3,3],[5,7,1,3],[5,5,5,5],[1,7,5,3],[7,7,7,3],[8,8,8,8],[8,8,8,8],[8,8,8,8]],[[2,2,2,2],[4,0,4,4],[6,0,2,4],[6,6,6,6],[2,0,6,4],[6,6,6,2],[5,5,5,1],[3,3,3,3],[3,5,7,1]]]
function m(cs,f,n){
csn=[]
for(i=0;i<6;i++)
csn[i]=cs[i].slice()
if(f<6)
csn[f]=[cs[f][(8-2*n)%8],cs[f][(9-2*n)%8],cs[f][(10-2*n)%8],cs[f][(11-2*n)%8],cs[f][(12-2*n)%8],cs[f][(13-2*n)%8],cs[f][(14-2*n)%8],cs[f][(15-2*n)%8],cs[f][8]]
for(i=0;i<4;i++)
for(j=1;j<4;j++)
csn[xf[0][f][i]][xf[j][f][i]]=cs[xf[0][f][(4+i-n)%4]][xf[j][f][(4+i-n)%4]]
return csn
}
function mMa(mv,csn){
var f=ms.indexOf(mv[0])
var n=as.indexOf(mv[1])+1
if(f<9&&f>-1)
csn=m(csn,f,n)
else if(f>=9){
var scr0=am[f-9].split(" ")
for(p=0;p<scr0.length;p++)
if (scr0[p].length)
csn=mMa(scr0[p][0]+gs[(n*(as.indexOf(scr0[p][1])+1))%4-1],csn)
}
return csn
}