:ClrDraw
:FnOff
:PlotsOff
:AxesOff
:{-}11.75→Xmin
:11.75→Xmax
:{-}7.75→Ymin
:7.75→Ymax
:1.23→A
:1.34→B
:1.45→C
:1.52→D
:6.32→E
:6.43→F
:6.54→G
:6.25→H
:1.2→I
:1.3→J
:1.4→K
:1.5→L
:2.3→M
:3.4→N
:4.5→O
:5.2→P
:6.2→Q
:6.3→R
:6.4→S
:6.5→T
:1→U
:2→V
:3→W
:2→Z
:4→Xres
:5→XScl
:6→YScl
:Line(0,7.5,7.25,3.75)
:Line(0,7.5,{-}7.25,3.75)
:Line({-}7.25,3.75,0,0)
:Line(7.25,3.75,0,0)
:Line({-}2.5,6.25,5.25,2.5)
:Line(2.5,6.25,{-}5.25,2.5)
:Line({-}5,5,2.25,1.25)
:Line(5,5,{-}2.25,1.25)
:Line({-}7.25,3.75,{-}7.25,{-}3.5)
:Line(7.25,3.75,7.25,{-}3.5)
:Line(0,0,0,{-}7.25)
:Line({-}7.25,{-}3.5,0,{-}7.25)
:Line(7.25,{-}3.5,0,{-}7.25)
:Line({-}7.25,1.5,0,{-}2.25)
:Line(7.25,1.5,0,{-}2.25)
:Line({-}7.25,{-}1.25,0,{-}5)
:Line(7.25,{-}1.25,0,{-}5)
:Line({-}5,2.5,{-}5,{-}4.75)
:Line(5,2.5,5,{-}4.75)
:Line({-}2.25,1.25,{-}2.25,{-}6)
:Line(2.25,1.25,2.25,{-}6)
:StorePic 1
:0→X
:Lbl 1
:If X=25
:ClrDraw
:If X≠0
:Then
:Text(23,28,"SCRAMBLING")
:Text(31,40,"CUBE")
:X-1→X
:If X=0
:ClrDraw
:End
:0→Y
:If X≠0
:Goto 2
:2→Z
:RecallPic 1
:Text(13,46,U)
:Text(34,31,V)
:Text(34,61,W)
:Text(23,46,int(A))
:Text(30,41,int((A-int(A))*10))
:Text(30,51,int(((A*10)-int(A*10))*10))
:Text(13,66,int(B))
:Text(20,71,int((B-int(B))*10))
:Text(3,46,int(C))
:Text(13,26,int(D))
:Text(20,21,((D*10)-int(D*10))*10)
:Text(50,51,int((E-int(E))*10))
:Text(50,41,((E*10)-int(E*10))*10)
:Text(40,71,((F*10)-int(F*10))*10)
:Text(40,21,int((H-int(H))*10))
:Text(18,36,int(I))
:Text(25,31,(I-int(I))*10)
:Text(18,56,int(J))
:Text(25,61,(J-int(J))*10)
:Text(8,56,int(K))
:Text(8,36,int(L))
:Text(39,41,int(M))
:Text(39,51,(M-int(M))*10)
:Text(29,71,int(N))
:Text(29,21,(P-int(P))*10)
:Text(45,31,(Q-int(Q))*10)
:Text(45,61,(R-int(R))*10)
:0→θ
:Lbl 2
:2→Z
:Text(1,1," ")
:If X=0
:getKey→θ
:If X≠0
:randInt(1,4)→θ
:If θ=105
:25→X
:If θ=45
:Goto 19
:If θ=22 or θ=31 or θ=33 or θ=32 or θ=21 or θ=23
:1→Z
:If θ=1 or θ=25 or θ=22
:Then
:If X=0
:Text(1,1,"TOP")
:0→θ
:Goto 3
:End
:If θ=2 or θ=34 or θ=32
:Then
:If X=0
:Text(1,1,"BOTTOM")
:0→θ
:Goto 4
:End
:If θ=3 or θ=24 or θ=31 or θ=21
:Then
:If X=0
:Then
:If θ=21 or θ=31
:Text(1,1,"LEFT")
:If θ=24
:Text(1,1,"FRONT")
:End
:0→θ
:Goto 5
:End
:If θ=4 or θ=26 or θ=33 or θ=23
:Then
:If X=0
:Then
:If θ=23 or θ=33
:Text(1,1,"RIGHT")
:If θ=26
:Text(1,1,"BACK")
:End
:0→θ
:Goto 6
:End
:Goto 2
:Lbl 3
:If X=0
:getKey→θ
:If X≠0
:randInt(1,3)→θ
:If θ=45
:Goto 19
:If θ=1 or θ=24 or θ=31 or θ=21
:Goto 7
:If θ=2 or θ=26 or θ=33 or θ=23
:Goto 8
:If θ=3 or θ=25 or θ=22
:Then
:1→Y
:If Z=1
:Goto 11
:If Z=2
:Goto 20
:End
:If θ=34 or θ=32
:Goto 2
:Goto 3
:Lbl 4
:If X=0
:getKey→θ
:If X≠0
:randInt(1,3)→θ
:If θ=45
:Goto 19
:If θ=1 or θ=24 or θ=31 or θ=21
:Goto 9
:If θ=2 or θ=26 or θ=33 or θ=23
:Goto 10
:If θ=25 or θ=22
:Goto 2
:If θ=3 or θ=34 or θ=32
:Then
:2→Y
:If Z=1
:Goto 12
:If Z=2
:Goto 21
:End
:Goto 4
:Lbl 5
:If X=0
:getKey→θ
:If X≠0
:randInt(1,3)→θ
:If θ=45
:Goto 19
:If θ=1 or θ=25 or θ=22
:Then
:If Z=1
:Goto 11
:If Z=2
:Goto 20
:End
:If θ=2 or θ=34 or θ=32
:Then
:If Z=1
:Goto 12
:If Z=2
:Goto 21
:End
:If θ=3 or θ=24 or θ=31 or θ=21
:Then
:3→Y
:Goto 7
:End
:If θ=26 or θ=33 or θ=23
:Goto 2
:Goto 5
:Lbl 6
:If X=0
:getKey→θ
:If X≠0
:randInt(1,3)→θ
:If θ=45
:Goto 19
:If θ=1 or θ=25 or θ=22
:Then
:If Z=1
:Goto 13
:If Z=2
:Goto 22
:End
:If θ=2 or θ=34 or θ=32
:Then
:If Z=1
:Goto 14
:If Z=2
:Goto 23
:End
:If θ=24 or θ=31 or θ=21
:Goto 2
:If θ=3 or θ=26 or θ=33 or θ=23
:Then
:4→Y
:Goto 8
:End
:Goto 6
:Lbl 7
:A→θ
:B→A
:C→B
:D→C
:θ→D
:I→θ
:J→I
:K→J
:L→K
:θ→L
:0→θ
:If Y=3
:Goto 9
:Goto 1
:Lbl 8
:D→θ
:C→D
:B→C
:A→B
:θ→A
:L→θ
:K→L
:J→K
:I→J
:θ→I
:0→θ
:If Y=4
:Goto 10
:Goto 1
:Lbl 9
:E→θ
:F→E
:G→F
:H→G
:θ→H
:Q→θ
:R→Q
:S→R
:T→S
:θ→T
:0→θ
:If Y=3
:Goto 17
:Goto 1
:Lbl 10
:H→θ
:G→H
:F→G
:E→F
:θ→E
:T→θ
:S→T
:R→S
:Q→R
:θ→Q
:If Y=4
:Goto 18
:Goto 1
:Lbl 11
:(int(D*10)/100)+(((D*10)-int(D*10))*10)→θ
:(int(H)/100)+((H-int(H))*10)→D
:(int(G*10)/100)+(((G*10)-int(G*10))*10)→H
:(int(C)/100)+((C-int(C))*10)→G
:θ→C
:L→θ
:((P-int(P))*10)+(int(P)/10)→L
:((T-int(T))*10)+(int(T)/10)→P
:O→T
:θ→O
:0→θ
:If Y=1
:Goto 13
:Goto 1
:Lbl 12
:(int(D*10)/100)+(((D*10)-int(D*10))*10)→θ
:(int(C)/100)+((C-int(C))*10)→D
:(int(G*10)/100)+(((G*10)-int(G*10))*10)→C
:(int(H)/100)+((H-int(H))*10)→G
:θ→H
:((L-int(L))*10)+(int(L)/10)→θ
:O→L
:T→O
:((P-int(P))*10)+(int(P)/10)→T
:θ→P
:0→θ
:If Y=2
:Goto 14
:Goto 1
:Lbl 13
:(int(A)/100)+((A-int(A))*10)→θ
:(int(E*10)/100)+(((E*10)-int(E*10))*10)→A
:(int(F)/100)+((F-int(F))*10)→E
:(int(B*10)/100)+(((B*10)-int(B*10))*10)→F
:θ→B
:((J-int(J))*10)+(int(J)/10)→θ
:M→J
:R→M
:((N-int(N))*10)+(int(N)/10)→R
:θ→N
:0→θ
:If Y=1
:Goto 15
:Goto 1
:Lbl 14
:(int(A)/100)+((A-int(A))*10)→θ
:(int(B*10)/100)+(((B*10)-int(B*10))*10)→A
:(int(F)/100)+((F-int(F))*10)→B
:(int(E*10)/100)+(((E*10)-int(E*10))*10)→F
:θ→E
:J→θ
:((N-int(N))*10)+(int(N)/10)→J
:((R-int(R))*10)+(int(R)/10)→N
:M→R
:θ→M
:0→θ
:If Y=2
:Goto 16
:Goto 1
:Lbl 15
:((I-int(I))*10)+(int(I)/10)→θ
:((Q-int(Q))*10)+(int(Q)/10)→I
:((S-int(S))*10)+(int(S)/10)→Q
:((K-int(K))*10)+(int(K)/10)→S
:θ→K
:U→θ
:V→U
:YScl→V
:Xres→YScl
:θ→Xres
:0→θ
:Goto 1
:Lbl 16
:((I-int(I))*10)+(int(I)/10)→θ
:((K-int(K))*10)+(int(K)/10)→I
:((S-int(S))*10)+(int(S)/10)→K
:((Q-int(Q))*10)+(int(Q)/10)→S
:θ→Q
:U→θ
:Xres→U
:YScl→Xres
:V→YScl
:θ→V
:0→θ
:Goto 1
:Lbl 17
:M→θ
:N→M
:O→N
:P→O
:θ→P
:V→θ
:W→V
:Xres→W
:XScl→Xres
:θ→XScl
:0→θ
:Goto 1
:Lbl 18
:M→θ
:P→M
:O→P
:N→O
:θ→N
:V→θ
:XScl→V
:Xres→XScl
:W→Xres
:θ→W
:0→θ
:Goto 1
:Lbl 20
:(int(A*10)/100)+(((A*10)-int(A*10))*10)→θ
:(int(E)/100)+((E-int(E))*10)→A
:(int(H*10)/100)+(((H*10)-int(H*10))*10)→E
:(int(D)/100)+((D-int(D))*10)→H
:θ→D
:I→θ
:((M-int(M))*10)+(int(M)/10)→I
:((Q-int(Q))*10)+(int(Q)/10)→M
:P→Q
:θ→P
:0→θ
:If Y=1
:Goto 22
:Goto 1
:Lbl 21
:(int(A*10)/100)+(((A*10)-int(A*10))*10)→θ
:(int(D)/100)+((D-int(D))*10)→A
:(int(H*10)/100)+(((H*10)-int(H*10))*10)→D
:(int(E)/100)+((E-int(E))*10)→H
:θ→E
:((I-int(I))*10)+(int(I)/10)→θ
:P→I
:Q→P
:((M-int(M))*10)+(int(M)/10)→Q
:θ→M
:0→θ
:If Y=2
:Goto 23
:Goto 1
:Lbl 22
:(int(B)/100)+((B-int(B))*10)→θ
:(int(F*10)/100)+(((F*10)-int(F*10))*10)→B
:(int(G)/100)+((G-int(G))*10)→F
:(int(C*10)/100)+(((C*10)-int(C*10))*10)→G
:θ→C
:((K-int(K))*10)+(int(K)/10)→θ
:N→K
:S→N
:((O-int(O))*10)+(int(O)/10)→S
:θ→O
:0→θ
:If Y=1
:Goto 24
:Goto 1
:Lbl 23
:(int(B)/100)+((B-int(B))*10)→θ
:(int(C*10)/100)+(((C*10)-int(C*10))*10)→B
:(int(G)/100)+((G-int(G))*10)→C
:(int(F*10)/100)+(((F*10)-int(F*10))*10)→G
:θ→F
:K→θ
:((O-int(O))*10)+(int(O)/10)→K
:((S-int(S))*10)+(int(S)/10)→O
:N→S
:θ→N
:0→θ
:If Y=2
:Goto 25
:Goto 1
:Lbl 24
:((J-int(J))*10)+(int(J)/10)→θ
:((R-int(R))*10)+(int(R)/10)→J
:((T-int(T))*10)+(int(T)/10)→R
:((L-int(L))*10)+(int(L)/10)→T
:θ→L
:U→θ
:W→U
:YScl→W
:XScl→YScl
:θ→XScl
:0→θ
:Goto 1
:Lbl 25
:((J-int(J))*10)+(int(J)/10)→θ
:((L-int(L))*10)+(int(L)/10)→J
:((T-int(T))*10)+(int(T)/10)→L
:((R-int(R))*10)+(int(R)/10)→T
:θ→R
:U→θ
:XScl→U
:YScl→XScl
:W→YScl
:θ→W
:0→θ
:Goto 1
:Lbl 19
:ClrDraw
:0→A
:0→B
:0→C
:0→D
:0→E
:0→F
:0→G
:0→H
:0→I
:0→J
:0→K
:0→L
:0→M
:0→N
:0→O
:0→P
:0→Q
:0→R
:0→S
:0→T
:0→U
:0→V
:0→W
:0→X
:0→Y
:0→Z
:1→XScl
:1→YScl
:1→Xres
:0→θ
:ClrHome
:AxesOn
:ClrHome