mikedopp icon

rubicspython

mikedopp | PRO | 05/09/17 06:24:10 PM UTC | 0 ⭐ | 340 👁️ | Never ⏰ | []
Python |

215.83 KB

|

None

|

0 👍

/

0 👎

import random
from turtle import Turtle
from turtle import Screen
 
 
stickers = Turtle()
stickers.speed(0)
screen = Screen()
 
 
#sticker variables
red = "red"
blue = "blue"
green = "green"
orange = "orange"
white = "white"
yellow = "yellow"
 
 
 
#variable format (face,height,leftrightormiddle)
#front
ful = red
fum = red
fur = red
 
fml = red
fmm = red
fmr = red
 
fdl = red
fdm = red
fdr = red
 
#back face
bul = orange
bum = orange
bur = orange
 
bml = orange
bmm = orange
bmr = orange
 
bdl = orange
bdm = orange
bdr = orange
 
#right face
rul = green
rum = green
rur = green
 
rml = green
rmm = green
rmr = green
 
rdl = green
rdm = green
rdr = green
 
#left face
lul = blue
lum = blue
lur = blue
 
lml = blue
lmm = blue
lmr = blue
 
ldl = blue
ldm = blue
ldr = blue
 
#top face
uul = yellow
uum = yellow
uur = yellow
 
uml = yellow
umm = yellow
umr = yellow
 
udl = yellow
udm = yellow
udr = yellow
 
#bottom face
dul = white
dum = white
dur = white
 
dml = white
dmm = white
dmr = white
 
ddl = white
ddm = white
ddr = white
 
 
 
def drawcube():
   screen.tracer(0,0)
   #black base
   stickers.setpos(0,0)
   stickers.color("black")
   stickers.backward(10)
   stickers.begin_fill()
   stickers.forward(115)
   stickers.right(90)
   stickers.forward(115)
   stickers.right(90)
   stickers.forward(115)
   stickers.right(90)
   stickers.forward(115)
   stickers.right(180)
   stickers.end_fill()
   stickers.left(90)
 
   #black base left side
   stickers.begin_fill()
   stickers.left(135)
   stickers.forward(57.5)
   stickers.left(135)
   stickers.forward(115)
   stickers.left(45)
   stickers.forward(57.5)
   stickers.end_fill()
 
   #black base top
   stickers.left(135)
   stickers.forward(115)
   stickers.left(45)
   stickers.begin_fill()
   stickers.forward(57.5)
   stickers.right(135)
   stickers.forward(115)
   stickers.right(45)
   stickers.forward(57.5)
   stickers.right(135)
   stickers.forward(115)
   stickers.end_fill()
   stickers.left(90)
   stickers.forward(35)
   stickers.left(90)
   stickers.forward(10)
 
 
   #sticker creation
   #front face
   stickers.color(ful)
   stickers.begin_fill()
   stickers.forward(25)
   stickers.left(90)
   stickers.forward(25)
   stickers.left(90)
   stickers.forward(25)
   stickers.left(90)
   stickers.forward(25)
   stickers.left(90)
   stickers.end_fill()
 
   stickers.penup()
   stickers.forward(35)
   stickers.pendown()
 
   stickers.color(fum)
   stickers.begin_fill()
   stickers.forward(25)
   stickers.left(90)
   stickers.forward(25)
   stickers.left(90)
   stickers.forward(25)
   stickers.left(90)
   stickers.forward(25)
   stickers.left(90)
   stickers.end_fill()
 
   stickers.penup()
   stickers.forward(35)
   stickers.pendown()
 
   stickers.color(fur)
   stickers.begin_fill()
   stickers.forward(25)
   stickers.left(90)
   stickers.forward(25)
   stickers.left(90)
   stickers.forward(25)
   stickers.left(90)
   stickers.forward(25)
   stickers.left(90)
   stickers.end_fill()
 
   stickers.penup()
   stickers.forward(35)
   stickers.pendown()
 
   #down a layer
   stickers.penup()
   stickers.left(180)
   stickers.forward(105)
   stickers.left(90)
   stickers.forward(35)
   stickers.left(90)
   stickers.pendown()
 
   stickers.color(fml)
   stickers.begin_fill()
   stickers.forward(25)
   stickers.left(90)
   stickers.forward(25)
   stickers.left(90)
   stickers.forward(25)
   stickers.left(90)
   stickers.forward(25)
   stickers.left(90)
   stickers.end_fill()
 
   stickers.penup()
   stickers.forward(35)
   stickers.pendown()
 
   stickers.color(fmm)
   stickers.begin_fill()
   stickers.forward(25)
   stickers.left(90)
   stickers.forward(25)
   stickers.left(90)
   stickers.forward(25)
   stickers.left(90)
   stickers.forward(25)
   stickers.left(90)
   stickers.end_fill()
 
   stickers.penup()
   stickers.forward(35)
   stickers.pendown()
 
   stickers.color(fmr)
   stickers.begin_fill()
   stickers.forward(25)
   stickers.left(90)
   stickers.forward(25)
   stickers.left(90)
   stickers.forward(25)
   stickers.left(90)
   stickers.forward(25)
   stickers.left(90)
   stickers.end_fill()
 
   stickers.penup()
   stickers.forward(35)
   stickers.pendown()
 
   #down a layer
   stickers.penup()
   stickers.left(180)
   stickers.forward(105)
   stickers.left(90)
   stickers.forward(35)
   stickers.left(90)
   stickers.pendown()
 
   stickers.color(fdl)
   stickers.begin_fill()
   stickers.forward(25)
   stickers.left(90)
   stickers.forward(25)
   stickers.left(90)
   stickers.forward(25)
   stickers.left(90)
   stickers.forward(25)
   stickers.left(90)
   stickers.end_fill()
 
   stickers.penup()
   stickers.forward(35)
   stickers.pendown()
 
   stickers.color(fdm)
   stickers.begin_fill()
   stickers.forward(25)
   stickers.left(90)
   stickers.forward(25)
   stickers.left(90)
   stickers.forward(25)
   stickers.left(90)
   stickers.forward(25)
   stickers.left(90)
   stickers.end_fill()
 
   stickers.penup()
   stickers.forward(35)
   stickers.pendown()
 
   stickers.color(fdr)
   stickers.begin_fill()
   stickers.forward(25)
   stickers.left(90)
   stickers.forward(25)
   stickers.left(90)
   stickers.forward(25)
   stickers.left(90)
   stickers.forward(25)
   stickers.left(90)
   stickers.end_fill()
 
   stickers.penup()
   stickers.forward(35)
   stickers.right(180)
   stickers.forward(105)
   stickers.right(90)
   stickers.forward(105)
   stickers.right(90)
   stickers.pendown()
 
   #left face stickers
   stickers.penup()
   stickers.backward(10)
   stickers.right(90)
   stickers.forward(10)
   stickers.left(90)
   stickers.left(135)
   stickers.forward(7)
   stickers.pendown()
 
   stickers.color(lur)
   stickers.begin_fill()
   stickers.forward(12.5)
   stickers.left(135)
   stickers.forward(25)
   stickers.left(45)
   stickers.forward(12.5)
   stickers.left(135)
   stickers.forward(25)
   stickers.left(45)
   stickers.forward(12.5)
   stickers.end_fill()
 
   stickers.penup()
   stickers.forward(5)
   stickers.pendown()
 
   stickers.color(lum)
   stickers.begin_fill()
   stickers.forward(12.5)
   stickers.left(135)
   stickers.forward(25)
   stickers.left(45)
   stickers.forward(12.5)
   stickers.left(135)
   stickers.forward(25)
   stickers.left(45)
   stickers.forward(12.5)
   stickers.end_fill()
 
   stickers.penup()
   stickers.forward(3.3333)
   stickers.pendown()
 
   stickers.color(lul)
   stickers.begin_fill()
   stickers.forward(12.5)
   stickers.left(135)
   stickers.forward(25)
   stickers.left(45)
   stickers.forward(12.5)
   stickers.left(135)
   stickers.forward(25)
   stickers.left(45)
   stickers.forward(12.5)
   stickers.end_fill()
 
   #down layer
   stickers.penup()
   stickers.backward(52.8333)
   stickers.left(135)
   stickers.forward(35)
   stickers.right(135)
   stickers.forward(7)
   stickers.pendown()
 
   stickers.color(lmr)
   stickers.begin_fill()
   stickers.forward(12.5)
   stickers.left(135)
   stickers.forward(25)
   stickers.left(45)
   stickers.forward(12.5)
   stickers.left(135)
   stickers.forward(25)
   stickers.left(45)
   stickers.forward(12.5)
   stickers.end_fill()
 
   stickers.penup()
   stickers.forward(5)
   stickers.pendown()
 
   stickers.color(lmm)
   stickers.begin_fill()
   stickers.forward(12.5)
   stickers.left(135)
   stickers.forward(25)
   stickers.left(45)
   stickers.forward(12.5)
   stickers.left(135)
   stickers.forward(25)
   stickers.left(45)
   stickers.forward(12.5)
   stickers.end_fill()
 
   stickers.penup()
   stickers.forward(3.3333)
   stickers.pendown()
 
   stickers.color(lml)
   stickers.begin_fill()
   stickers.forward(12.5)
   stickers.left(135)
   stickers.forward(25)
   stickers.left(45)
   stickers.forward(12.5)
   stickers.left(135)
   stickers.forward(25)
   stickers.left(45)
   stickers.forward(12.5)
   stickers.end_fill()
 
 
   #down layer
   stickers.penup()
   stickers.backward(52.8333)
   stickers.left(135)
   stickers.forward(35)
   stickers.right(135)
   stickers.forward(7)
   stickers.pendown()
 
   stickers.color(ldr)
   stickers.begin_fill()
   stickers.forward(12.5)
   stickers.left(135)
   stickers.forward(25)
   stickers.left(45)
   stickers.forward(12.5)
   stickers.left(135)
   stickers.forward(25)
   stickers.left(45)
   stickers.forward(12.5)
   stickers.end_fill()
 
   stickers.penup()
   stickers.forward(5)
   stickers.pendown()
 
   stickers.color(ldm)
   stickers.begin_fill()
   stickers.forward(12.5)
   stickers.left(135)
   stickers.forward(25)
   stickers.left(45)
   stickers.forward(12.5)
   stickers.left(135)
   stickers.forward(25)
   stickers.left(45)
   stickers.forward(12.5)
   stickers.end_fill()
 
   stickers.penup()
   stickers.forward(3.3333)
   stickers.pendown()
 
   stickers.color(ldl)
   stickers.begin_fill()
   stickers.forward(12.5)
   stickers.left(135)
   stickers.forward(25)
   stickers.left(45)
   stickers.forward(12.5)
   stickers.left(135)
   stickers.forward(25)
   stickers.left(45)
   stickers.forward(12.5)
   stickers.end_fill()
 
   #return to start position
   stickers.penup()
   stickers.backward(52.8333)
   stickers.right(45)
   stickers.forward(80)
   stickers.right(90)
   stickers.pendown()
 
   #top face stickers
   stickers.penup()
   stickers.left(135)
   stickers.forward(5)
   stickers.right(135)
   stickers.forward(10)
   stickers.pendown()
 
   stickers.color(udl)
   stickers.begin_fill()
   stickers.forward(25)
   stickers.left(135)
   stickers.forward(15.625)
   stickers.left(45)
   stickers.forward(25)
   stickers.left(135)
   stickers.forward(15.625)
   stickers.left(45)
   stickers.end_fill()
 
   #move forward
   stickers.penup()
   stickers.forward(35)
   stickers.pendown()
 
 
   stickers.color(udm)
   stickers.begin_fill()
   stickers.forward(25)
   stickers.left(135)
   stickers.forward(15.625)
   stickers.left(45)
   stickers.forward(25)
   stickers.left(135)
   stickers.forward(15.625)
   stickers.left(45)
   stickers.end_fill()
 
   #move forward
   stickers.penup()
   stickers.forward(35)
   stickers.pendown()
 
 
   stickers.color(udr)
   stickers.begin_fill()
   stickers.forward(25)
   stickers.left(135)
   stickers.forward(15.625)
   stickers.left(45)
   stickers.forward(25)
   stickers.left(135)
   stickers.forward(15.625)
   stickers.left(45)
   stickers.end_fill()
 
   #up a layer
   stickers.penup()
   stickers.right(180)
   stickers.forward(70)
   stickers.right(45)
   stickers.forward(20.625)
   stickers.right(135)
   stickers.pendown()
 
   stickers.color(uml)
   stickers.begin_fill()
   stickers.forward(25)
   stickers.left(135)
   stickers.forward(10.416667)
   stickers.left(45)
   stickers.forward(25)
   stickers.left(135)
   stickers.forward(10.416667)
   stickers.left(45)
   stickers.end_fill()
 
   #move forward
   stickers.penup()
   stickers.forward(35)
   stickers.pendown()
 
 
   stickers.color(umm)
   stickers.begin_fill()
   stickers.forward(25)
   stickers.left(135)
   stickers.forward(10.416667)
   stickers.left(45)
   stickers.forward(25)
   stickers.left(135)
   stickers.forward(10.416667)
   stickers.left(45)
   stickers.end_fill()
 
   #move forward
   stickers.penup()
   stickers.forward(35)
   stickers.pendown()
 
 
   stickers.color(umr)
   stickers.begin_fill()
   stickers.forward(25)
   stickers.left(135)
   stickers.forward(10.416667)
   stickers.left(45)
   stickers.forward(25)
   stickers.left(135)
   stickers.forward(10.416667)
   stickers.left(45)
   stickers.end_fill()
 
   #up a layer
   stickers.penup()
   stickers.right(180)
   stickers.forward(70)
   stickers.right(45)
   stickers.forward(13.416667)
   stickers.right(135)
   stickers.pendown()
 
   stickers.color(uul)
   stickers.begin_fill()
   stickers.forward(25)
   stickers.left(135)
   stickers.forward(9.94444)
   stickers.left(45)
   stickers.forward(25)
   stickers.left(135)
   stickers.forward(9.94444)
   stickers.left(45)
   stickers.end_fill()
 
   #move forward
   stickers.penup()
   stickers.forward(35)
   stickers.pendown()
 
 
   stickers.color(uum)
   stickers.begin_fill()
   stickers.forward(25)
   stickers.left(135)
   stickers.forward(9.94444)
   stickers.left(45)
   stickers.forward(25)
   stickers.left(135)
   stickers.forward(9.94444)
   stickers.left(45)
   stickers.end_fill()
 
   #move forward
   stickers.penup()
   stickers.forward(35)
   stickers.pendown()
 
 
   stickers.color(uur)
   stickers.begin_fill()
   stickers.forward(25)
   stickers.left(135)
   stickers.forward(9.94444)
   stickers.left(45)
   stickers.forward(25)
   stickers.left(135)
   stickers.forward(9.94444)
   stickers.left(45)
   stickers.end_fill()
 
   #start turns
   stickers.speed(0)
   stickers.penup()
   stickers.right(180)
   stickers.forward(70)
   stickers.left(135)
   stickers.forward(9.94444+10.416667+19.625)
   stickers.left(45)
   stickers.pendown()
   screen.update()
 
 
 
 
def draw2x2():
       stickers.clear()
       screen.tracer(0,0)
       stickers.speed(0)
       stickers.color("black")
       stickers.penup()
       stickers.backward(50)
       stickers.pendown()
       stickers.begin_fill()
       stickers.forward(100)
       stickers.left(90)
       stickers.forward(100)
       stickers.left(90)
       stickers.forward(100)
       stickers.left(90)
       stickers.forward(100)
       stickers.end_fill()
 
       stickers.setpos(0,0)
       stickers.penup()
       stickers.left(90)
       stickers.backward(50)
       stickers.pendown()
       stickers.begin_fill()
       stickers.left(135)
       stickers.forward(44)
       stickers.right(45)
       stickers.forward(100)
       stickers.right(135)
       stickers.forward(44)
       stickers.end_fill()
 
       stickers.left(180)
       stickers.begin_fill()
       stickers.forward(44)
       stickers.right(135)
       stickers.forward(100)
       stickers.right(45)
       stickers.forward(44)
       stickers.end_fill()
       stickers.penup()
 
       #stickers
       #front
       stickers.left(45)
       stickers.setpos(-50,100)
       stickers.right(90)
       stickers.forward(10)
       stickers.left(90)
       stickers.forward(10)
 
       def stickersfront():
           stickers.pendown()
           stickers.begin_fill()
           stickers.forward(35)
           stickers.right(90)
           stickers.forward(35)
           stickers.right(90)
           stickers.forward(35)
           stickers.right(90)
           stickers.forward(35)
           stickers.right(90)
           stickers.forward(35)
           stickers.end_fill()
           stickers.penup()
 
           stickers.forward(10)
 
 
       stickers.color(ful)
       stickersfront()
 
       stickers.color(fur)
       stickersfront()
 
       stickers.setpos(-40,45)
 
       stickers.color(fdl)
       stickersfront()
 
       stickers.color(fdr)
       stickersfront()
 
       #stickersleft
       stickers.setpos(-52.5,90)
       stickers.left(180)
       stickers.right(45)
       def stickersleft():
           stickers.pendown()
           stickers.begin_fill()
           stickers.forward(17.5)
           stickers.left(135)
           stickers.forward(35)
           stickers.left(45)
           stickers.forward(17.5)
           stickers.left(135)
           stickers.forward(35)
           stickers.end_fill()
           stickers.penup()
           stickers.left(45)
           stickers.forward(20)
 
 
       stickers.color(lur)
       stickersleft()
 
       stickers.color(lul)
       stickersleft()
 
       stickers.setpos(-52.5,45)
 
       stickers.color(ldr)
       stickersleft()
 
       stickers.color(ldl)
       stickersleft()
 
 
 
       #top face
       stickers.setpos(-45,103)
       stickers.right(135)
       def stickerstop():
           stickers.color(udl)
           stickers.pendown()
           stickers.begin_fill()
           stickers.forward(35)
           stickers.left(135)
           stickers.forward(17.5)
           stickers.left(45)
           stickers.forward(35)
           stickers.left(135)
           stickers.forward(17.5)
           stickers.end_fill()
           stickers.penup()
           stickers.left(180)
           stickers.forward(20.5)
           stickers.right(135)
           stickers.penup()
 
 
           stickers.color(uul)
           stickers.pendown()
           stickers.begin_fill()
           stickers.forward(35)
           stickers.left(135)
           stickers.forward(14.5)
           stickers.left(45)
           stickers.forward(35)
           stickers.left(135)
           stickers.forward(14.5)
           stickers.end_fill()
           stickers.penup()
           stickers.left(180)
           stickers.forward(20.5)
           stickers.right(135)
           stickers.penup()
 
           stickers.setpos(0,103)
 
           stickers.color(udr)
           stickers.pendown()
           stickers.begin_fill()
           stickers.forward(35)
           stickers.left(135)
           stickers.forward(17.5)
           stickers.left(45)
           stickers.forward(35)
           stickers.left(135)
           stickers.forward(17.5)
           stickers.end_fill()
           stickers.penup()
           stickers.left(180)
           stickers.forward(20.5)
           stickers.right(135)
           stickers.penup()
 
 
           stickers.color(uur)
           stickers.pendown()
           stickers.begin_fill()
           stickers.forward(35)
           stickers.left(135)
           stickers.forward(14.5)
           stickers.left(45)
           stickers.forward(35)
           stickers.left(135)
           stickers.forward(14.5)
           stickers.end_fill()
           stickers.penup()
           stickers.left(180)
           stickers.forward(20.5)
           stickers.right(135)
 
 
 
       stickerstop()
 
       stickers.setpos(0,0)
       screen.update()
 
 
 
 
 
 
 
 
 
 
cubeselect = 1
while cubeselect == 1:
 
   cube = input("What cube would you like? ")
   if cube == "3x3":
       #variable format (face,height,leftrightormiddle)
       #front
       ful = red
       fum = red
       fur = red
 
       fml = red
       fmm = red
       fmr = red
 
       fdl = red
       fdm = red
       fdr = red
 
       #back face
       bul = orange
       bum = orange
       bur = orange
 
       bml = orange
       bmm = orange
       bmr = orange
 
       bdl = orange
       bdm = orange
       bdr = orange
 
       #right face
       rul = green
       rum = green
       rur = green
 
       rml = green
       rmm = green
       rmr = green
 
       rdl = green
       rdm = green
       rdr = green
 
       #left face
       lul = blue
       lum = blue
       lur = blue
 
       lml = blue
       lmm = blue
       lmr = blue
 
       ldl = blue
       ldm = blue
       ldr = blue
 
       #top face
       uul = yellow
       uum = yellow
       uur = yellow
 
       uml = yellow
       umm = yellow
       umr = yellow
 
       udl = yellow
       udm = yellow
       udr = yellow
 
       #bottom face
       dul = white
       dum = white
       dur = white
 
       dml = white
       dmm = white
       dmr = white
 
       ddl = white
       ddm = white
       ddr = white
       stickers.clear()
       drawcube()
 
 
       print("Type a move you would like to make then hit enter and put in the next move you would like to make")
       print("type commands for a list of commands you can enter")
 
 
       stall=1
       while stall == 1:
           pause = input("Move:")
           pause = pause.lower()
           stickers.clear()
           if pause == "f":
               #front face
               #corners
               temp = ful
               ful = fdl
               fdl = fdr
               fdr = fur
               fur = temp
 
               #edges
               temp = fum
               fum = fml
               fml = fdm
               fdm = fmr
               fmr = temp
 
               #ring around
               #corners
               temp = udl
               udl = ldr
               ldr = dur
               dur = rul
               rul = temp
 
               temp2 = udr
               udr = lur
               lur = dul
               dul = rdl
               rdl = temp2
 
               #edges
               temp = udm
               udm = lmr
               lmr = dum
               dum = rml
               rml = temp
 
 
 
 
           elif pause == "f'":
               #front face
               #corners
               temp = ful
               ful = fur
               fur = fdr
               fdr = fdl
               fdl = temp
               #edges
               temp2 = fum
               fum = fmr
               fmr = fdm
               fdm = fml
               fml = temp2
 
               #ring around front face
               #corners
               temp = lur
               temp2 = ldr
 
               lur = udr
               ldr = udl
 
               udr = rdl
               udl = rul
 
               rdl = dul
               rul = dur
 
               dul = temp
               dur = temp2
 
               #edges
               temp = lmr
 
               lmr = udm
 
               udm = rml
 
               rml = dum
 
               dum = temp
 
 
           elif pause == "u":
               #top face turn
               #corners
               temp = uul
               uul = udl
               udl = udr
               udr = uur
               uur = temp
 
               #edges
               temp = uml
               uml = udm
               udm = umr
               umr = uum
               uum = temp
 
               #ring around top
               #corners
               temp = lul
               lul = ful
               ful = rul
               rul = bur
               bur = temp
 
 
               temp2 = lur
               lur = fur
               fur = rur
               rur = bul
               bul = temp2
 
               #edges
               temp = lum
               lum = fum
               fum = rum
               rum = bum
               bum = temp
 
 
 
           elif pause == "u'":
               #top face
               temp = uul
               uul = uur
               uur = udr
               udr = udl
               udl = temp
 
               temp = uum
               uum = umr
               umr = udm
               udm = uml
               uml = temp
 
               #ring around top
               #corners
               temp = lul
               lul = bur
               bur = rul
               rul = ful
               ful = temp
 
               temp2 = lur
               lur = bul
               bul = rur
               rur = fur
               fur = temp2
 
               #edges
               temp = lum
               lum = bum
               bum = rum
               rum = fum
               fum = temp
 
 
           elif pause == "r":
               #right face
               temp = rul
               rul = rdl
               rdl = rdr
               rdr = rur
               rur = temp
 
               temp = rml
               rml = rdm
               rdm = rmr
               rmr = rum
               rum = temp
 
               #ring around right face
               temp = fur
               fur = dur
               dur = bdr
               bdr = uur
               uur = temp
 
               temp2 = fdr
               fdr = ddr
               ddr = bur
               bur = udr
               udr = temp2
 
               temp = fmr
               fmr = dmr
               dmr = bmr
               bmr = umr
               umr = temp
 
 
 
           elif pause == "r'":
               #right face
               temp = rul
               rul = rur
               rur = rdr
               rdr = rdl
               rdl = temp
 
               temp = rml
               rml = rum
               rum = rmr
               rmr = rdm
               rdm = temp
 
               #ring around face
               temp = fur
               fur = uur
               uur = bdr
               bdr = dur
               dur = temp
 
               temp2 = fdr
               fdr = udr
               udr = bur
               bur = ddr
               ddr = temp2
 
               temp = fmr
               fmr = umr
               umr = bmr
               bmr = dmr
               dmr = temp
 
           elif pause == "l":
               #left face
               #corners
               temp = lul
               lul = ldl
               ldl = ldr
               ldr = lur
               lur = temp
 
               #edges
               temp = lum
               lum = lml
               lml = ldm
               ldm = lmr
               lmr = temp
 
               #ring around left side
               temp = ful
               ful = uul
               uul = bdl
               bdl = dul
               dul = temp
 
               temp2 = fdl
               fdl = udl
               udl = bul
               bul = ddl
               ddl = temp2
 
               #edges
               temp = fml
               fml = uml
               uml = bml
               bml = dml
               dml = temp
 
           elif pause == "l'":
               #left face
               #corners
               temp = lul
               lul = lur
               lur = ldr
               ldr = ldl
               ldl = temp
 
               #edges
               temp = lum
               lum = lmr
               lmr = ldm
               ldm = lml
               lml = temp
 
               #ring around
               #corners
               temp = ful
               ful = dul
               dul = bdl
               bdl = uul
               uul = temp
 
               temp2 = fdl
               fdl = ddl
               ddl = bul
               bul = udl
               udl = temp2
 
               #edges
               temp = fml
               fml = dml
               dml = bml
               bml = uml
               uml = temp
 
 
           elif pause == "d":
               #bottom face
               #corners
               temp = dul
               dul = ddl
               ddl = ddr
               ddr = dur
               dur = temp
 
               #edges
               temp = dum
               dum = dml
               dml = ddm
               ddm = dmr
               dmr = temp
 
               #ring around layer
               #corners
               temp = fdl
               fdl = ldl
               ldl = bdr
               bdr = rdl
               rdl = temp
 
               temp2 = fdr
               fdr = ldr
               ldr = bdl
               bdl = rdr
               rdr = temp2
 
               #edges
               temp = fdm
               fdm = ldm
               ldm = bdm
               bdm = rdm
               rdm = temp
 
           elif pause == "d'":
               #bottom face
               #corners
               temp = dul
               dul = dur
               dur = ddr
               ddr = ddl
               ddl = temp
 
               #edges
               temp = dum
               dum = dmr
               dmr = ddm
               ddm = dml
               dml = temp
 
               #ring around layer
               #corners
               temp = fdl
               fdl = rdl
               rdl = bdr
               bdr = ldl
               ldl = temp
 
               temp2 = fdr
               fdr = rdr
               rdr = bdl
               bdl = ldr
               ldr = temp2
 
               #edges
               temp = fdm
               fdm = rdm
               rdm = bdm
               bdm = ldm
               ldm = temp
 
 
           elif pause == "b":
               #back face
               #corners
               temp = bul
               bul = bur
               bur = bdr
               bdr = bdl
               bdl = temp
 
               #edges
               temp = bum
               bum = bmr
               bmr = bdm
               bdm = bml
               bml = temp
 
               #ring around layer
               temp = uul
               uul = rur
               rur = ddr
               ddr = ldl
               ldl = temp
 
               temp2 = uur
               uur = rdr
               rdr = ddl
               ddl = lul
               lul = temp2
 
               #edges
               temp = uum
               uum = rmr
               rmr = ddm
               ddm = lml
               lml = temp
 
           elif pause == "b'":
               #back face
               #corners
               temp = bul
               bul = bdl
               bdl = bdr
               bdr = bur
               bur = temp
 
               #edges
               temp = bum
               bum = bml
               bml = bdm
               bdm = bmr
               bmr = temp
 
               #ring around layer
               #corners
               temp = uul
               uul = ldl
               ldl = ddr
               ddr = rur
               rur = temp
 
               temp2 = uur
               uur = lul
               lul = ddl
               ddl = rdr
               rdr = temp2
 
               #edges
               temp = uum
               uum = lml
               lml = ddm
               ddm = rmr
               rmr = temp
 
           elif pause == "solve":
               ful = red
               fum = red
               fur = red
 
               fml = red
               fmm = red
               fmr = red
 
               fdl = red
               fdm = red
               fdr = red
 
               #back face
               bul = orange
               bum = orange
               bur = orange
 
               bml = orange
               bmm = orange
               bmr = orange
 
               bdl = orange
               bdm = orange
               bdr = orange
 
               #right face
               rul = green
               rum = green
               rur = green
 
               rml = green
               rmm = green
               rmr = green
 
               rdl = green
               rdm = green
               rdr = green
 
               #left face
               lul = blue
               lum = blue
               lur = blue
 
               lml = blue
               lmm = blue
               lmr = blue
 
               ldl = blue
               ldm = blue
               ldr = blue
 
               #top face
               uul = yellow
               uum = yellow
               uur = yellow
 
               uml = yellow
               umm = yellow
               umr = yellow
 
               udl = yellow
               udm = yellow
               udr = yellow
 
               #bottom face
               dul = white
               dum = white
               dur = white
 
               dml = white
               dmm = white
               dmr = white
 
               ddl = white
               ddm = white
               ddr = white
 
               drawcube()
 
           elif pause == "y":
 
               #bottom rotation
               #bottom face
               #corners
               temp = dul
               dul = dur
               dur = ddr
               ddr = ddl
               ddl = temp
 
               #edges
               temp = dum
               dum = dmr
               dmr = ddm
               ddm = dml
               dml = temp
 
               #ring around layer
               #corners
               temp = fdl
               fdl = rdl
               rdl = bdr
               bdr = ldl
               ldl = temp
 
               temp2 = fdr
               fdr = rdr
               rdr = bdl
               bdl = ldr
               ldr = temp2
 
               #edges
               temp = fdm
               fdm = rdm
               rdm = bdm
               bdm = ldm
               ldm = temp
 
 
               #top rotation
               #top face turn
               #corners
               temp = uul
               uul = udl
               udl = udr
               udr = uur
               uur = temp
 
               #edges
               temp = uml
               uml = udm
               udm = umr
               umr = uum
               uum = temp
 
               #ring around top
               #corners
               temp = lul
               lul = ful
               ful = rul
               rul = bur
               bur = temp
 
 
               temp2 = lur
               lur = fur
               fur = rur
               rur = bul
               bul = temp2
 
               #edges
               temp = lum
               lum = fum
               fum = rum
               rum = bum
               bum = temp
 
               #middle layer rotation
               temp = fml
               fml = rml
               rml = bmr
               bmr = lml
               lml = temp
 
               temp = fmm
               fmm = rmm
               rmm = bmm
               bmm = lmm
               lmm = temp
 
               temp = fmr
               fmr = rmr
               rmr = bml
               bml = lmr
               lmr = temp
 
           elif pause == "y'":
               #top face
               temp = uul
               uul = uur
               uur = udr
               udr = udl
               udl = temp
 
               temp = uum
               uum = umr
               umr = udm
               udm = uml
               uml = temp
 
               #ring around top
               #corners
               temp = lul
               lul = bur
               bur = rul
               rul = ful
               ful = temp
 
               temp2 = lur
               lur = bul
               bul = rur
               rur = fur
               fur = temp2
 
               #edges
               temp = lum
               lum = bum
               bum = rum
               rum = fum
               fum = temp
 
               #middle
               #centers
               temp = fmm
               fmm = lmm
               lmm = bmm
               bmm = rmm
               rmm = temp
 
               #edges
               temp = fml
               fml = lml
               lml = bmr
               bmr = rml
               rml = temp
 
               temp = fmr
               fmr = lmr
               lmr = bml
               bml = rmr
               rmr = temp
 
               #bottom face
               #corners
               temp = dul
               dul = ddl
               ddl = ddr
               ddr = dur
               dur = temp
 
               #edges
               temp = dum
               dum = dml
               dml = ddm
               ddm = dmr
               dmr = temp
 
               #ring around layer
               #corners
               temp = fdl
               fdl = ldl
               ldl = bdr
               bdr = rdl
               rdl = temp
 
               temp2 = fdr
               fdr = ldr
               ldr = bdl
               bdl = rdr
               rdr = temp2
 
               #edges
               temp = fdm
               fdm = ldm
               ldm = bdm
               bdm = rdm
               rdm = temp
 
           elif pause == "x":
               #right face
               temp = rul
               rul = rdl
               rdl = rdr
               rdr = rur
               rur = temp
 
               temp = rml
               rml = rdm
               rdm = rmr
               rmr = rum
               rum = temp
 
               #ring around right face
               temp = fur
               fur = dur
               dur = bdr
               bdr = uur
               uur = temp
 
               temp2 = fdr
               fdr = ddr
               ddr = bur
               bur = udr
               udr = temp2
 
               temp = fmr
               fmr = dmr
               dmr = bmr
               bmr = umr
               umr = temp
 
               #middle
               #centers
               temp = dmm
               dmm = bmm
               bmm = umm
               umm = fmm
               fmm = temp
 
               #edges
               temp = dum
               dum = bdm
               bdm = uum
               uum = fum
               fum = temp
 
               temp = ddm
               ddm = bum
               bum = udm
               udm = fdm
               fdm = temp
 
               #left face
               #corners
               temp = lul
               lul = lur
               lur = ldr
               ldr = ldl
               ldl = temp
 
               #edges
               temp = lum
               lum = lmr
               lmr = ldm
               ldm = lml
               lml = temp
 
               #ring around
               #corners
               temp = ful
               ful = dul
               dul = bdl
               bdl = uul
               uul = temp
 
               temp2 = fdl
               fdl = ddl
               ddl = bul
               bul = udl
               udl = temp2
 
               #edges
               temp = fml
               fml = dml
               dml = bml
               bml = uml
               uml = temp
 
           elif pause == "x'":
               #right face
               temp = rul
               rul = rur
               rur = rdr
               rdr = rdl
               rdl = temp
 
               temp = rml
               rml = rum
               rum = rmr
               rmr = rdm
               rdm = temp
 
               #ring around face
               temp = fur
               fur = uur
               uur = bdr
               bdr = dur
               dur = temp
 
               temp2 = fdr
               fdr = udr
               udr = bur
               bur = ddr
               ddr = temp2
 
               temp = fmr
               fmr = umr
               umr = bmr
               bmr = dmr
               dmr = temp
 
               #left face
               #corners
               temp = lul
               lul = ldl
               ldl = ldr
               ldr = lur
               lur = temp
 
               #edges
               temp = lum
               lum = lml
               lml = ldm
               ldm = lmr
               lmr = temp
 
               #ring around left side
               temp = ful
               ful = uul
               uul = bdl
               bdl = dul
               dul = temp
 
               temp2 = fdl
               fdl = udl
               udl = bul
               bul = ddl
               ddl = temp2
 
               #edges
               temp = fml
               fml = uml
               uml = bml
               bml = dml
               dml = temp
 
               #middle
               #centers
               temp = fmm
               fmm = umm
               umm = bmm
               bmm = dmm
               dmm = temp
 
               #edges
               temp = fum
               fum = uum
               uum = bdm
               bdm = dum
               dum = temp
 
               temp = fdm
               fdm = udm
               udm = bum
               bum = ddm
               ddm = temp
 
           elif pause == "m":
               #middle
               #centers
               temp = fmm
               fmm = umm
               umm = bmm
               bmm = dmm
               dmm = temp
 
               #edges
               temp = fum
               fum = uum
               uum = bdm
               bdm = dum
               dum = temp
 
               temp = fdm
               fdm = udm
               udm = bum
               bum = ddm
               ddm = temp
 
           elif pause == "m'":
               #middle
               #centers
               temp = dmm
               dmm = bmm
               bmm = umm
               umm = fmm
               fmm = temp
 
               #edges
               temp = dum
               dum = bdm
               bdm = uum
               uum = fum
               fum = temp
 
               temp = ddm
               ddm = bum
               bum = udm
               udm = fdm
               fdm = temp
               
 
               
               
 
 
           elif pause == "commands":
               print("These are the commands you can use on the cube:")
               print("f/f': turns the front face of the cube")
               print("b/b': turn the back face of the cube")
               print("u/u': turns the top face of the cube")
               print("d/d': turns the bottom face of the cube")
               print("r/r': turns the right face of the cube")
               print("l/l': turns the left face of the cube")
               print("y/y': rotates the entire cube like a U/U' turn")
               print("x/x': rotates the entire cube like an R/R' turn")
               print("m/m': turns the middle layer like abd L/L' turn")
               print("scramble: scrambles the cube")
               print("solve: solves the cube")
               print("back: goes back to cube selection")
 
 
           elif pause == "scramble":
               moves = ["f", "f'", "u", "u'", "r", "r'", "l", "l'", "d", "d'", "b", "b'"]
               scrambling = 0
               while scrambling != 40:
                   scramblemove = random.choice(moves)
                   scrambling = scrambling + 1
                   print(scramblemove)
                   stickers.clear()
                   if scramblemove == "f":
                       #front face
                       #corners
                       temp = ful
                       ful = fdl
                       fdl = fdr
                       fdr = fur
                       fur = temp
 
                       #edges
                       temp = fum
                       fum = fml
                       fml = fdm
                       fdm = fmr
                       fmr = temp
 
                       #ring around
                       #corners
                       temp = udl
                       udl = ldr
                       ldr = dur
                       dur = rul
                       rul = temp
 
                       temp2 = udr
                       udr = lur
                       lur = dul
                       dul = rdl
                       rdl = temp2
 
                       #edges
                       temp = udm
                       udm = lmr
                       lmr = dum
                       dum = rml
                       rml = temp
 
 
 
 
                   elif scramblemove == "f'":
                       #front face
                       #corners
                       temp = ful
                       ful = fur
                       fur = fdr
                       fdr = fdl
                       fdl = temp
                       #edges
                       temp2 = fum
                       fum = fmr
                       fmr = fdm
                       fdm = fml
                       fml = temp2
 
                       #ring around front face
                       #corners
                       temp = lur
                       temp2 = ldr
 
                       lur = udr
                       ldr = udl
 
                       udr = rdl
                       udl = rul
 
                       rdl = dul
                       rul = dur
 
                       dul = temp
                       dur = temp2
 
                       #edges
                       temp = lmr
 
                       lmr = udm
 
                       udm = rml
 
                       rml = dum
 
                       dum = temp
 
 
                   elif scramblemove == "u":
                       #top face turn
                       #corners
                       temp = uul
                       uul = udl
                       udl = udr
                       udr = uur
                       uur = temp
 
                       #edges
                       temp = uml
                       uml = udm
                       udm = umr
                       umr = uum
                       uum = temp
 
                       #ring around top
                       #corners
                       temp = lul
                       lul = ful
                       ful = rul
                       rul = bur
                       bur = temp
 
 
                       temp2 = lur
                       lur = fur
                       fur = rur
                       rur = bul
                       bul = temp2
 
                       #edges
                       temp = lum
                       lum = fum
                       fum = rum
                       rum = bum
                       bum = temp
 
 
 
                   elif scramblemove == "u'":
                       #top face
                       temp = uul
                       uul = uur
                       uur = udr
                       udr = udl
                       udl = temp
 
                       temp = uum
                       uum = umr
                       umr = udm
                       udm = uml
                       uml = temp
 
                       #ring around top
                       #corners
                       temp = lul
                       lul = bur
                       bur = rul
                       rul = ful
                       ful = temp
 
                       temp2 = lur
                       lur = bul
                       bul = rur
                       rur = fur
                       fur = temp2
 
                       #edges
                       temp = lum
                       lum = bum
                       bum = rum
                       rum = fum
                       fum = temp
 
 
                   elif scramblemove == "r":
                       #right face
                       temp = rul
                       rul = rdl
                       rdl = rdr
                       rdr = rur
                       rur = temp
 
                       temp = rml
                       rml = rdm
                       rdm = rmr
                       rmr = rum
                       rum = temp
 
                       #ring around right face
                       temp = fur
                       fur = dur
                       dur = bdr
                       bdr = uur
                       uur = temp
 
                       temp2 = fdr
                       fdr = ddr
                       ddr = bur
                       bur = udr
                       udr = temp2
 
                       temp = fmr
                       fmr = dmr
                       dmr = bmr
                       bmr = umr
                       umr = temp
 
 
 
                   elif scramblemove == "r'":
                       #right face
                       temp = rul
                       rul = rur
                       rur = rdr
                       rdr = rdl
                       rdl = temp
 
                       temp = rml
                       rml = rum
                       rum = rmr
                       rmr = rdm
                       rdm = temp
 
                       #ring around face
                       temp = fur
                       fur = uur
                       uur = bdr
                       bdr = dur
                       dur = temp
 
                       temp2 = fdr
                       fdr = udr
                       udr = bur
                       bur = ddr
                       ddr = temp2
 
                       temp = fmr
                       fmr = umr
                       umr = bmr
                       bmr = dmr
                       dmr = temp
 
                   elif scramblemove == "l":
                       #left face
                       #corners
                       temp = lul
                       lul = ldl
                       ldl = ldr
                       ldr = lur
                       lur = temp
 
                       #edges
                       temp = lum
                       lum = lml
                       lml = ldm
                       ldm = lmr
                       lmr = temp
 
                       #ring around left side
                       temp = ful
                       ful = uul
                       uul = bdl
                       bdl = dul
                       dul = temp
 
                       temp2 = fdl
                       fdl = udl
                       udl = bul
                       bul = ddl
                       ddl = temp2
 
                       #edges
                       temp = fml
                       fml = uml
                       uml = bml
                       bml = dml
                       dml = temp
 
                   elif scramblemove == "l'":
                       #left face
                       #corners
                       temp = lul
                       lul = lur
                       lur = ldr
                       ldr = ldl
                       ldl = temp
 
                       #edges
                       temp = lum
                       lum = lmr
                       lmr = ldm
                       ldm = lml
                       lml = temp
 
                       #ring around
                       #corners
                       temp = ful
                       ful = dul
                       dul = bdl
                       bdl = uul
                       uul = temp
 
                       temp2 = fdl
                       fdl = ddl
                       ddl = bul
                       bul = udl
                       udl = temp2
 
                       #edges
                       temp = fml
                       fml = dml
                       dml = bml
                       bml = uml
                       uml = temp
 
 
                   elif scramblemove == "d":
                       #bottom face
                       #corners
                       temp = dul
                       dul = ddl
                       ddl = ddr
                       ddr = dur
                       dur = temp
 
                       #edges
                       temp = dum
                       dum = dml
                       dml = ddm
                       ddm = dmr
                       dmr = temp
 
                       #ring around layer
                       #corners
                       temp = fdl
                       fdl = ldl
                       ldl = bdr
                       bdr = rdl
                       rdl = temp
 
                       temp2 = fdr
                       fdr = ldr
                       ldr = bdl
                       bdl = rdr
                       rdr = temp2
 
                       #edges
                       temp = fdm
                       fdm = ldm
                       ldm = bdm
                       bdm = rdm
                       rdm = temp
 
                   elif scramblemove == "d'":
                       #bottom face
                       #corners
                       temp = dul
                       dul = dur
                       dur = ddr
                       ddr = ddl
                       ddl = temp
 
                       #edges
                       temp = dum
                       dum = dmr
                       dmr = ddm
                       ddm = dml
                       dml = temp
 
                       #ring around layer
                       #corners
                       temp = fdl
                       fdl = rdl
                       rdl = bdr
                       bdr = ldl
                       ldl = temp
 
                       temp2 = fdr
                       fdr = rdr
                       rdr = bdl
                       bdl = ldr
                       ldr = temp2
 
                       #edges
                       temp = fdm
                       fdm = rdm
                       rdm = bdm
                       bdm = ldm
                       ldm = temp
 
 
                   elif scramblemove == "b":
                       #back face
                       #corners
                       temp = bul
                       bul = bur
                       bur = bdr
                       bdr = bdl
                       bdl = temp
 
                       #edges
                       temp = bum
                       bum = bmr
                       bmr = bdm
                       bdm = bml
                       bml = temp
 
                       #ring around layer
                       temp = uul
                       uul = rur
                       rur = ddr
                       ddr = ldl
                       ldl = temp
 
                       temp2 = uur
                       uur = rdr
                       rdr = ddl
                       ddl = lul
                       lul = temp2
 
                       #edges
                       temp = uum
                       uum = rmr
                       rmr = ddm
                       ddm = lml
                       lml = temp
 
                   elif scramblemove == "b'":
                       #back face
                       #corners
                       temp = bul
                       bul = bdl
                       bdl = bdr
                       bdr = bur
                       bur = temp
 
                       #edges
                       temp = bum
                       bum = bml
                       bml = bdm
                       bdm = bmr
                       bmr = temp
 
                       #ring around layer
                       #corners
                       temp = uul
                       uul = ldl
                       ldl = ddr
                       ddr = rur
                       rur = temp
 
                       temp2 = uur
                       uur = lul
                       lul = ddl
                       ddl = rdr
                       rdr = temp2
 
                       #edges
                       temp = uum
                       uum = lml
                       lml = ddm
                       ddm = rmr
                       rmr = temp
                   drawcube()
 
           elif pause == "solve the long way":
               scrambling = 0
               if ful == red:
                   if fum == red:
                       if fur == red:
                           if fml == red:
                               if fmm == red:
                                   if fmr == red:
                                       if fdl == red:
                                           if fdm == red:
                                               if fdr == red:
 
                                                   #back face
                                                   if bul == orange:
                                                       if bum == orange:
                                                           if bur == orange:
 
                                                               if bml == orange:
                                                                   if bmm == orange:
                                                                       if bmr == orange:
 
                                                                           if bdl == orange:
                                                                               if bdm == orange:
                                                                                   if bdr == orange:
 
                                                                                       #right face
                                                                                       if rul == green:
                                                                                           if rum == green:
                                                                                               if rur == green:
 
                                                                                                   if rml == green:
                                                                                                       if rmm == green:
                                                                                                           if rmr == green:
 
                                                                                                               if rdl == green:
                                                                                                                   if rdm == green:
                                                                                                                       if rdr == green:
 
                                                                                                                           #left face
                                                                                                                           if lul == blue:
                                                                                                                               if lum == blue:
                                                                                                                                   if lur ==blue:
 
                                                                                                                                       if lml == blue:
                                                                                                                                           if lmm ==blue:
                                                                                                                                               if lmr == blue:
 
                                                                                                                                                   if ldl == blue:
                                                                                                                                                       if ldm == blue:
                                                                                                                                                           if ldr == blue:
 
                                                                                                                                                               #top face
                                                                                                                                                               if uul == yellow:
                                                                                                                                                                   if uum == yellow:
                                                                                                                                                                       if uur == yellow:
 
                                                                                                                                                                           if uml == yellow:
                                                                                                                                                                               if umm == yellow:
                                                                                                                                                                                   if umr == yellow:
 
                                                                                                                                                                                       if udl == yellow:
                                                                                                                                                                                           if udm == yellow:
                                                                                                                                                                                               if udr == yellow:
 
                                                                                                                                                                                                   #bottom face
                                                                                                                                                                                                   if dul == white:
                                                                                                                                                                                                       if dum == white:
                                                                                                                                                                                                           if dur == white:
 
                                                                                                                                                                                                               if dml == white:
                                                                                                                                                                                                                   if dmm == white:
                                                                                                                                                                                                                       if dmr == white:
 
                                                                                                                                                                                                                           if ddl == white:
                                                                                                                                                                                                                               if ddm == white:
                                                                                                                                                                                                                                   if ddr == white:
                                                                                                                                                                                                                                       scrambling = scrambling + 1
                                                                                                                                                                                                                                       print("solved")
                                                                                                                                                                                                                                       drawcube()
 
 
               else:
                   moves = ["f", "f'", "u", "u'", "r", "r'", "l", "l'", "d", "d'", "b", "b'"]
                   while scrambling != 1:
                       scramblemove = random.choice(moves)
                       stickers.clear()
                       if scramblemove == "f":
                           #front face
                           #corners
                           temp = ful
                           ful = fdl
                           fdl = fdr
                           fdr = fur
                           fur = temp
 
                           #edges
                           temp = fum
                           fum = fml
                           fml = fdm
                           fdm = fmr
                           fmr = temp
 
                           #ring around
                           #corners
                           temp = udl
                           udl = ldr
                           ldr = dur
                           dur = rul
                           rul = temp
 
                           temp2 = udr
                           udr = lur
                           lur = dul
                           dul = rdl
                           rdl = temp2
 
                           #edges
                           temp = udm
                           udm = lmr
                           lmr = dum
                           dum = rml
                           rml = temp
 
 
 
 
                       elif scramblemove == "f'":
                           #front face
                           #corners
                           temp = ful
                           ful = fur
                           fur = fdr
                           fdr = fdl
                           fdl = temp
                           #edges
                           temp2 = fum
                           fum = fmr
                           fmr = fdm
                           fdm = fml
                           fml = temp2
 
                           #ring around front face
                           #corners
                           temp = lur
                           temp2 = ldr
 
                           lur = udr
                           ldr = udl
 
                           udr = rdl
                           udl = rul
 
                           rdl = dul
                           rul = dur
 
                           dul = temp
                           dur = temp2
 
                           #edges
                           temp = lmr
 
                           lmr = udm
 
                           udm = rml
 
                           rml = dum
 
                           dum = temp
 
 
                       elif scramblemove == "u":
                           #top face turn
                           #corners
                           temp = uul
                           uul = udl
                           udl = udr
                           udr = uur
                           uur = temp
 
                           #edges
                           temp = uml
                           uml = udm
                           udm = umr
                           umr = uum
                           uum = temp
 
                           #ring around top
                           #corners
                           temp = lul
                           lul = ful
                           ful = rul
                           rul = bur
                           bur = temp
 
 
                           temp2 = lur
                           lur = fur
                           fur = rur
                           rur = bul
                           bul = temp2
 
                           #edges
                           temp = lum
                           lum = fum
                           fum = rum
                           rum = bum
                           bum = temp
 
 
 
                       elif scramblemove == "u'":
                           #top face
                           temp = uul
                           uul = uur
                           uur = udr
                           udr = udl
                           udl = temp
 
                           temp = uum
                           uum = umr
                           umr = udm
                           udm = uml
                           uml = temp
 
                           #ring around top
                           #corners
                           temp = lul
                           lul = bur
                           bur = rul
                           rul = ful
                           ful = temp
 
                           temp2 = lur
                           lur = bul
                           bul = rur
                           rur = fur
                           fur = temp2
 
                           #edges
                           temp = lum
                           lum = bum
                           bum = rum
                           rum = fum
                           fum = temp
 
 
                       elif scramblemove == "r":
                           #right face
                           temp = rul
                           rul = rdl
                           rdl = rdr
                           rdr = rur
                           rur = temp
 
                           temp = rml
                           rml = rdm
                           rdm = rmr
                           rmr = rum
                           rum = temp
 
                           #ring around right face
                           temp = fur
                           fur = dur
                           dur = bdr
                           bdr = uur
                           uur = temp
 
                           temp2 = fdr
                           fdr = ddr
                           ddr = bur
                           bur = udr
                           udr = temp2
 
                           temp = fmr
                           fmr = dmr
                           dmr = bmr
                           bmr = umr
                           umr = temp
 
 
 
                       elif scramblemove == "r'":
                           #right face
                           temp = rul
                           rul = rur
                           rur = rdr
                           rdr = rdl
                           rdl = temp
 
                           temp = rml
                           rml = rum
                           rum = rmr
                           rmr = rdm
                           rdm = temp
 
                           #ring around face
                           temp = fur
                           fur = uur
                           uur = bdr
                           bdr = dur
                           dur = temp
 
                           temp2 = fdr
                           fdr = udr
                           udr = bur
                           bur = ddr
                           ddr = temp2
 
                           temp = fmr
                           fmr = umr
                           umr = bmr
                           bmr = dmr
                           dmr = temp
 
                       elif scramblemove == "l":
                           #left face
                           #corners
                           temp = lul
                           lul = ldl
                           ldl = ldr
                           ldr = lur
                           lur = temp
 
                           #edges
                           temp = lum
                           lum = lml
                           lml = ldm
                           ldm = lmr
                           lmr = temp
 
                           #ring around left side
                           temp = ful
                           ful = uul
                           uul = bdl
                           bdl = dul
                           dul = temp
 
                           temp2 = fdl
                           fdl = udl
                           udl = bul
                           bul = ddl
                           ddl = temp2
 
                           #edges
                           temp = fml
                           fml = uml
                           uml = bml
                           bml = dml
                           dml = temp
 
                       elif scramblemove == "l'":
                           #left face
                           #corners
                           temp = lul
                           lul = lur
                           lur = ldr
                           ldr = ldl
                           ldl = temp
 
                           #edges
                           temp = lum
                           lum = lmr
                           lmr = ldm
                           ldm = lml
                           lml = temp
 
                           #ring around
                           #corners
                           temp = ful
                           ful = dul
                           dul = bdl
                           bdl = uul
                           uul = temp
 
                           temp2 = fdl
                           fdl = ddl
                           ddl = bul
                           bul = udl
                           udl = temp2
 
                           #edges
                           temp = fml
                           fml = dml
                           dml = bml
                           bml = uml
                           uml = temp
 
 
                       elif scramblemove == "d":
                           #bottom face
                           #corners
                           temp = dul
                           dul = ddl
                           ddl = ddr
                           ddr = dur
                           dur = temp
 
                           #edges
                           temp = dum
                           dum = dml
                           dml = ddm
                           ddm = dmr
                           dmr = temp
 
                           #ring around layer
                           #corners
                           temp = fdl
                           fdl = ldl
                           ldl = bdr
                           bdr = rdl
                           rdl = temp
 
                           temp2 = fdr
                           fdr = ldr
                           ldr = bdl
                           bdl = rdr
                           rdr = temp2
 
                           #edges
                           temp = fdm
                           fdm = ldm
                           ldm = bdm
                           bdm = rdm
                           rdm = temp
 
                       elif scramblemove == "d'":
                           #bottom face
                           #corners
                           temp = dul
                           dul = dur
                           dur = ddr
                           ddr = ddl
                           ddl = temp
 
                           #edges
                           temp = dum
                           dum = dmr
                           dmr = ddm
                           ddm = dml
                           dml = temp
 
                           #ring around layer
                           #corners
                           temp = fdl
                           fdl = rdl
                           rdl = bdr
                           bdr = ldl
                           ldl = temp
 
                           temp2 = fdr
                           fdr = rdr
                           rdr = bdl
                           bdl = ldr
                           ldr = temp2
 
                           #edges
                           temp = fdm
                           fdm = rdm
                           rdm = bdm
                           bdm = ldm
                           ldm = temp
 
 
                       elif scramblemove == "b":
                           #back face
                           #corners
                           temp = bul
                           bul = bur
                           bur = bdr
                           bdr = bdl
                           bdl = temp
 
                           #edges
                           temp = bum
                           bum = bmr
                           bmr = bdm
                           bdm = bml
                           bml = temp
 
                           #ring around layer
                           temp = uul
                           uul = rur
                           rur = ddr
                           ddr = ldl
                           ldl = temp
 
                           temp2 = uur
                           uur = rdr
                           rdr = ddl
                           ddl = lul
                           lul = temp2
 
                           #edges
                           temp = uum
                           uum = rmr
                           rmr = ddm
                           ddm = lml
                           lml = temp
 
                       elif scramblemove == "b'":
                           #back face
                           #corners
                           temp = bul
                           bul = bdl
                           bdl = bdr
                           bdr = bur
                           bur = temp
 
                           #edges
                           temp = bum
                           bum = bml
                           bml = bdm
                           bdm = bmr
                           bmr = temp
 
                           #ring around layer
                           #corners
                           temp = uul
                           uul = ldl
                           ldl = ddr
                           ddr = rur
                           rur = temp
 
                           temp2 = uur
                           uur = lul
                           lul = ddl
                           ddl = rdr
                           rdr = temp2
 
                           #edges
                           temp = uum
                           uum = lml
                           lml = ddm
                           ddm = rmr
                           rmr = temp
 
           elif pause == "back":
               stall = 0
 
 
           elif pause == "move":
               drawcube()
           drawcube()
 
 
   elif cube == "2x2":
       #variable format (face,height,leftrightormiddle)
       #front
       ful = red
       fum = red
       fur = red
 
       fml = red
       fmm = red
       fmr = red
 
       fdl = red
       fdm = red
       fdr = red
 
       #back face
       bul = orange
       bum = orange
       bur = orange
 
       bml = orange
       bmm = orange
       bmr = orange
 
       bdl = orange
       bdm = orange
       bdr = orange
 
       #right face
       rul = green
       rum = green
       rur = green
 
       rml = green
       rmm = green
       rmr = green
 
       rdl = green
       rdm = green
       rdr = green
 
       #left face
       lul = blue
       lum = blue
       lur = blue
 
       lml = blue
       lmm = blue
       lmr = blue
 
       ldl = blue
       ldm = blue
       ldr = blue
 
       #top face
       uul = yellow
       uum = yellow
       uur = yellow
 
       uml = yellow
       umm = yellow
       umr = yellow
 
       udl = yellow
       udm = yellow
       udr = yellow
 
       #bottom face
       dul = white
       dum = white
       dur = white
 
       dml = white
       dmm = white
       dmr = white
 
       ddl = white
       ddm = white
       ddr = white
       stickers.clear()
       draw2x2()
       #2x2 turns
       print("Type a move you would like to make then hit enter and put in the next move you would like to make")
       print("type commands for a list of commands you can enter")
 
 
       stall=1
       while stall == 1:
               pause = input("Move:")
               pause = pause.lower()
               stickers.clear()
               if pause == "f":
                   #front face
                   #corners
                   temp = ful
                   ful = fdl
                   fdl = fdr
                   fdr = fur
                   fur = temp
 
                   #edges
                   temp = fum
                   fum = fml
                   fml = fdm
                   fdm = fmr
                   fmr = temp
 
                   #ring around
                   #corners
                   temp = udl
                   udl = ldr
                   ldr = dur
                   dur = rul
                   rul = temp
 
                   temp2 = udr
                   udr = lur
                   lur = dul
                   dul = rdl
                   rdl = temp2
 
                   #edges
                   temp = udm
                   udm = lmr
                   lmr = dum
                   dum = rml
                   rml = temp
 
 
 
 
               elif pause == "f'":
                   #front face
                   #corners
                   temp = ful
                   ful = fur
                   fur = fdr
                   fdr = fdl
                   fdl = temp
                   #edges
                   temp2 = fum
                   fum = fmr
                   fmr = fdm
                   fdm = fml
                   fml = temp2
 
                   #ring around front face
                   #corners
                   temp = lur
                   temp2 = ldr
 
                   lur = udr
                   ldr = udl
 
                   udr = rdl
                   udl = rul
 
                   rdl = dul
                   rul = dur
 
                   dul = temp
                   dur = temp2
 
                   #edges
                   temp = lmr
 
                   lmr = udm
 
                   udm = rml
 
                   rml = dum
 
                   dum = temp
 
 
               elif pause == "u":
                   #top face turn
                   #corners
                   temp = uul
                   uul = udl
                   udl = udr
                   udr = uur
                   uur = temp
 
                   #edges
                   temp = uml
                   uml = udm
                   udm = umr
                   umr = uum
                   uum = temp
 
                   #ring around top
                   #corners
                   temp = lul
                   lul = ful
                   ful = rul
                   rul = bur
                   bur = temp
 
 
                   temp2 = lur
                   lur = fur
                   fur = rur
                   rur = bul
                   bul = temp2
 
                   #edges
                   temp = lum
                   lum = fum
                   fum = rum
                   rum = bum
                   bum = temp
 
 
 
               elif pause == "u'":
                   #top face
                   temp = uul
                   uul = uur
                   uur = udr
                   udr = udl
                   udl = temp
 
                   temp = uum
                   uum = umr
                   umr = udm
                   udm = uml
                   uml = temp
 
                   #ring around top
                   #corners
                   temp = lul
                   lul = bur
                   bur = rul
                   rul = ful
                   ful = temp
 
                   temp2 = lur
                   lur = bul
                   bul = rur
                   rur = fur
                   fur = temp2
 
                   #edges
                   temp = lum
                   lum = bum
                   bum = rum
                   rum = fum
                   fum = temp
 
 
               elif pause == "r":
                   #right face
                   temp = rul
                   rul = rdl
                   rdl = rdr
                   rdr = rur
                   rur = temp
 
                   temp = rml
                   rml = rdm
                   rdm = rmr
                   rmr = rum
                   rum = temp
 
                   #ring around right face
                   temp = fur
                   fur = dur
                   dur = bdr
                   bdr = uur
                   uur = temp
 
                   temp2 = fdr
                   fdr = ddr
                   ddr = bur
                   bur = udr
                   udr = temp2
 
                   temp = fmr
                   fmr = dmr
                   dmr = bmr
                   bmr = umr
                   umr = temp
 
 
 
               elif pause == "r'":
                   #right face
                   temp = rul
                   rul = rur
                   rur = rdr
                   rdr = rdl
                   rdl = temp
 
                   temp = rml
                   rml = rum
                   rum = rmr
                   rmr = rdm
                   rdm = temp
 
                   #ring around face
                   temp = fur
                   fur = uur
                   uur = bdr
                   bdr = dur
                   dur = temp
 
                   temp2 = fdr
                   fdr = udr
                   udr = bur
                   bur = ddr
                   ddr = temp2
 
                   temp = fmr
                   fmr = umr
                   umr = bmr
                   bmr = dmr
                   dmr = temp
 
               elif pause == "l":
                   #left face
                   #corners
                   temp = lul
                   lul = ldl
                   ldl = ldr
                   ldr = lur
                   lur = temp
 
                   #edges
                   temp = lum
                   lum = lml
                   lml = ldm
                   ldm = lmr
                   lmr = temp
 
                   #ring around left side
                   temp = ful
                   ful = uul
                   uul = bdl
                   bdl = dul
                   dul = temp
 
                   temp2 = fdl
                   fdl = udl
                   udl = bul
                   bul = ddl
                   ddl = temp2
 
                   #edges
                   temp = fml
                   fml = uml
                   uml = bml
                   bml = dml
                   dml = temp
 
               elif pause == "l'":
                   #left face
                   #corners
                   temp = lul
                   lul = lur
                   lur = ldr
                   ldr = ldl
                   ldl = temp
 
                   #edges
                   temp = lum
                   lum = lmr
                   lmr = ldm
                   ldm = lml
                   lml = temp
 
                   #ring around
                   #corners
                   temp = ful
                   ful = dul
                   dul = bdl
                   bdl = uul
                   uul = temp
 
                   temp2 = fdl
                   fdl = ddl
                   ddl = bul
                   bul = udl
                   udl = temp2
 
                   #edges
                   temp = fml
                   fml = dml
                   dml = bml
                   bml = uml
                   uml = temp
 
 
               elif pause == "d":
                   #bottom face
                   #corners
                   temp = dul
                   dul = ddl
                   ddl = ddr
                   ddr = dur
                   dur = temp
 
                   #edges
                   temp = dum
                   dum = dml
                   dml = ddm
                   ddm = dmr
                   dmr = temp
 
                   #ring around layer
                   #corners
                   temp = fdl
                   fdl = ldl
                   ldl = bdr
                   bdr = rdl
                   rdl = temp
 
                   temp2 = fdr
                   fdr = ldr
                   ldr = bdl
                   bdl = rdr
                   rdr = temp2
 
                   #edges
                   temp = fdm
                   fdm = ldm
                   ldm = bdm
                   bdm = rdm
                   rdm = temp
 
               elif pause == "d'":
                   #bottom face
                   #corners
                   temp = dul
                   dul = dur
                   dur = ddr
                   ddr = ddl
                   ddl = temp
 
                   #edges
                   temp = dum
                   dum = dmr
                   dmr = ddm
                   ddm = dml
                   dml = temp
 
                   #ring around layer
                   #corners
                   temp = fdl
                   fdl = rdl
                   rdl = bdr
                   bdr = ldl
                   ldl = temp
 
                   temp2 = fdr
                   fdr = rdr
                   rdr = bdl
                   bdl = ldr
                   ldr = temp2
 
                   #edges
                   temp = fdm
                   fdm = rdm
                   rdm = bdm
                   bdm = ldm
                   ldm = temp
 
 
               elif pause == "b":
                   #back face
                   #corners
                   temp = bul
                   bul = bur
                   bur = bdr
                   bdr = bdl
                   bdl = temp
 
                   #edges
                   temp = bum
                   bum = bmr
                   bmr = bdm
                   bdm = bml
                   bml = temp
 
                   #ring around layer
                   temp = uul
                   uul = rur
                   rur = ddr
                   ddr = ldl
                   ldl = temp
 
                   temp2 = uur
                   uur = rdr
                   rdr = ddl
                   ddl = lul
                   lul = temp2
 
                   #edges
                   temp = uum
                   uum = rmr
                   rmr = ddm
                   ddm = lml
                   lml = temp
 
               elif pause == "b'":
                   #back face
                   #corners
                   temp = bul
                   bul = bdl
                   bdl = bdr
                   bdr = bur
                   bur = temp
 
                   #edges
                   temp = bum
                   bum = bml
                   bml = bdm
                   bdm = bmr
                   bmr = temp
 
                   #ring around layer
                   #corners
                   temp = uul
                   uul = ldl
                   ldl = ddr
                   ddr = rur
                   rur = temp
 
                   temp2 = uur
                   uur = lul
                   lul = ddl
                   ddl = rdr
                   rdr = temp2
 
                   #edges
                   temp = uum
                   uum = lml
                   lml = ddm
                   ddm = rmr
                   rmr = temp
 
               elif pause == "solve":
                   ful = red
                   fum = red
                   fur = red
 
                   fml = red
                   fmm = red
                   fmr = red
 
                   fdl = red
                   fdm = red
                   fdr = red
 
                   #back face
                   bul = orange
                   bum = orange
                   bur = orange
 
                   bml = orange
                   bmm = orange
                   bmr = orange
 
                   bdl = orange
                   bdm = orange
                   bdr = orange
 
                   #right face
                   rul = green
                   rum = green
                   rur = green
 
                   rml = green
                   rmm = green
                   rmr = green
 
                   rdl = green
                   rdm = green
                   rdr = green
 
                   #left face
                   lul = blue
                   lum = blue
                   lur = blue
 
                   lml = blue
                   lmm = blue
                   lmr = blue
 
                   ldl = blue
                   ldm = blue
                   ldr = blue
 
                   #top face
                   uul = yellow
                   uum = yellow
                   uur = yellow
 
                   uml = yellow
                   umm = yellow
                   umr = yellow
 
                   udl = yellow
                   udm = yellow
                   udr = yellow
 
                   #bottom face
                   dul = white
                   dum = white
                   dur = white
 
                   dml = white
                   dmm = white
                   dmr = white
 
                   ddl = white
                   ddm = white
                   ddr = white
 
               elif pause == "y":
 
                   #bottom rotation
                   #bottom face
                   #corners
                   temp = dul
                   dul = dur
                   dur = ddr
                   ddr = ddl
                   ddl = temp
 
                   #edges
                   temp = dum
                   dum = dmr
                   dmr = ddm
                   ddm = dml
                   dml = temp
 
                   #ring around layer
                   #corners
                   temp = fdl
                   fdl = rdl
                   rdl = bdr
                   bdr = ldl
                   ldl = temp
 
                   temp2 = fdr
                   fdr = rdr
                   rdr = bdl
                   bdl = ldr
                   ldr = temp2
 
                   #edges
                   temp = fdm
                   fdm = rdm
                   rdm = bdm
                   bdm = ldm
                   ldm = temp
 
 
                   #top rotation
                   #top face turn
                   #corners
                   temp = uul
                   uul = udl
                   udl = udr
                   udr = uur
                   uur = temp
 
                   #edges
                   temp = uml
                   uml = udm
                   udm = umr
                   umr = uum
                   uum = temp
 
                   #ring around top
                   #corners
                   temp = lul
                   lul = ful
                   ful = rul
                   rul = bur
                   bur = temp
 
 
                   temp2 = lur
                   lur = fur
                   fur = rur
                   rur = bul
                   bul = temp2
 
                   #edges
                   temp = lum
                   lum = fum
                   fum = rum
                   rum = bum
                   bum = temp
 
                   #middle layer rotation
                   temp = fml
                   fml = rml
                   rml = bmr
                   bmr = lml
                   lml = temp
 
                   temp = fmm
                   fmm = rmm
                   rmm = bmm
                   bmm = lmm
                   lmm = temp
 
                   temp = fmr
                   fmr = rmr
                   rmr = bml
                   bml = lmr
                   lmr = temp
 
               elif pause == "y'":
                   #top face
                   temp = uul
                   uul = uur
                   uur = udr
                   udr = udl
                   udl = temp
 
                   temp = uum
                   uum = umr
                   umr = udm
                   udm = uml
                   uml = temp
 
                   #ring around top
                   #corners
                   temp = lul
                   lul = bur
                   bur = rul
                   rul = ful
                   ful = temp
 
                   temp2 = lur
                   lur = bul
                   bul = rur
                   rur = fur
                   fur = temp2
 
                   #edges
                   temp = lum
                   lum = bum
                   bum = rum
                   rum = fum
                   fum = temp
 
                   #middle
                   #centers
                   temp = fmm
                   fmm = lmm
                   lmm = bmm
                   bmm = rmm
                   rmm = temp
 
                   #edges
                   temp = fml
                   fml = lml
                   lml = bmr
                   bmr = rml
                   rml = temp
 
                   temp = fmr
                   fmr = lmr
                   lmr = bml
                   bml = rmr
                   rmr = temp
 
                   #bottom face
                   #corners
                   temp = dul
                   dul = ddl
                   ddl = ddr
                   ddr = dur
                   dur = temp
 
                   #edges
                   temp = dum
                   dum = dml
                   dml = ddm
                   ddm = dmr
                   dmr = temp
 
                   #ring around layer
                   #corners
                   temp = fdl
                   fdl = ldl
                   ldl = bdr
                   bdr = rdl
                   rdl = temp
 
                   temp2 = fdr
                   fdr = ldr
                   ldr = bdl
                   bdl = rdr
                   rdr = temp2
 
                   #edges
                   temp = fdm
                   fdm = ldm
                   ldm = bdm
                   bdm = rdm
                   rdm = temp
 
               elif pause == "x":
                   #right face
                   temp = rul
                   rul = rdl
                   rdl = rdr
                   rdr = rur
                   rur = temp
 
                   temp = rml
                   rml = rdm
                   rdm = rmr
                   rmr = rum
                   rum = temp
 
                   #ring around right face
                   temp = fur
                   fur = dur
                   dur = bdr
                   bdr = uur
                   uur = temp
 
                   temp2 = fdr
                   fdr = ddr
                   ddr = bur
                   bur = udr
                   udr = temp2
 
                   temp = fmr
                   fmr = dmr
                   dmr = bmr
                   bmr = umr
                   umr = temp
 
                   #middle
                   #centers
                   temp = dmm
                   dmm = bmm
                   bmm = umm
                   umm = fmm
                   fmm = temp
 
                   #edges
                   temp = dum
                   dum = bdm
                   bdm = uum
                   uum = fum
                   fum = temp
 
                   temp = ddm
                   ddm = bum
                   bum = udm
                   udm = fdm
                   fdm = temp
 
                   #left face
                   #corners
                   temp = lul
                   lul = lur
                   lur = ldr
                   ldr = ldl
                   ldl = temp
 
                   #edges
                   temp = lum
                   lum = lmr
                   lmr = ldm
                   ldm = lml
                   lml = temp
 
                   #ring around
                   #corners
                   temp = ful
                   ful = dul
                   dul = bdl
                   bdl = uul
                   uul = temp
 
                   temp2 = fdl
                   fdl = ddl
                   ddl = bul
                   bul = udl
                   udl = temp2
 
                   #edges
                   temp = fml
                   fml = dml
                   dml = bml
                   bml = uml
                   uml = temp
 
               elif pause == "x'":
                   #right face
                   temp = rul
                   rul = rur
                   rur = rdr
                   rdr = rdl
                   rdl = temp
 
                   temp = rml
                   rml = rum
                   rum = rmr
                   rmr = rdm
                   rdm = temp
 
                   #ring around face
                   temp = fur
                   fur = uur
                   uur = bdr
                   bdr = dur
                   dur = temp
 
                   temp2 = fdr
                   fdr = udr
                   udr = bur
                   bur = ddr
                   ddr = temp2
 
                   temp = fmr
                   fmr = umr
                   umr = bmr
                   bmr = dmr
                   dmr = temp
 
                   #left face
                   #corners
                   temp = lul
                   lul = ldl
                   ldl = ldr
                   ldr = lur
                   lur = temp
 
                   #edges
                   temp = lum
                   lum = lml
                   lml = ldm
                   ldm = lmr
                   lmr = temp
 
                   #ring around left side
                   temp = ful
                   ful = uul
                   uul = bdl
                   bdl = dul
                   dul = temp
 
                   temp2 = fdl
                   fdl = udl
                   udl = bul
                   bul = ddl
                   ddl = temp2
 
                   #edges
                   temp = fml
                   fml = uml
                   uml = bml
                   bml = dml
                   dml = temp
 
                   #middle
                   #centers
                   temp = fmm
                   fmm = umm
                   umm = bmm
                   bmm = dmm
                   dmm = temp
 
                   #edges
                   temp = fum
                   fum = uum
                   uum = bdm
                   bdm = dum
                   dum = temp
 
                   temp = fdm
                   fdm = udm
                   udm = bum
                   bum = ddm
                   ddm = temp
 
 
 
 
               elif pause == "commands":
                   print("These are the commands you can use on the cube:")
                   print("move: draws the moves that you have made")
                   print("f/f': turns the front face of the cube")
                   print("b/b': turn the back face of the cube")
                   print("u/u': turns the top face of the cube")
                   print("d/d': turns the bottom face of the cube")
                   print("r/r': turns the right face of the cube")
                   print("l/l': turns the left face of the cube")
                   print("y/y': rotates the entire cube like a U/U' turn")
                   print("x/x': rotates the entire cube like an R/R' turn")
                   print("scramble: scrambles the cube")
                   print("solve: solves the cube")
                   print("back: goes back to cube selection")
 
 
               elif pause == "scramble":
                   moves = ["f", "f'", "u", "u'", "r", "r'", "l", "l'", "d", "d'", "b", "b'"]
                   scrambling = 0
                   while scrambling != 40:
                       scramblemove = random.choice(moves)
                       scrambling = scrambling + 1
                       stickers.clear()
                       draw2x2()
                       if scramblemove == "f":
                           #front face
                           #corners
                           temp = ful
                           ful = fdl
                           fdl = fdr
                           fdr = fur
                           fur = temp
 
                           #edges
                           temp = fum
                           fum = fml
                           fml = fdm
                           fdm = fmr
                           fmr = temp
 
                           #ring around
                           #corners
                           temp = udl
                           udl = ldr
                           ldr = dur
                           dur = rul
                           rul = temp
 
                           temp2 = udr
                           udr = lur
                           lur = dul
                           dul = rdl
                           rdl = temp2
 
                           #edges
                           temp = udm
                           udm = lmr
                           lmr = dum
                           dum = rml
                           rml = temp
 
 
 
 
                       elif scramblemove == "f'":
                           #front face
                           #corners
                           temp = ful
                           ful = fur
                           fur = fdr
                           fdr = fdl
                           fdl = temp
                           #edges
                           temp2 = fum
                           fum = fmr
                           fmr = fdm
                           fdm = fml
                           fml = temp2
 
                           #ring around front face
                           #corners
                           temp = lur
                           temp2 = ldr
 
                           lur = udr
                           ldr = udl
 
                           udr = rdl
                           udl = rul
 
                           rdl = dul
                           rul = dur
 
                           dul = temp
                           dur = temp2
 
                           #edges
                           temp = lmr
 
                           lmr = udm
 
                           udm = rml
 
                           rml = dum
 
                           dum = temp
 
 
                       elif scramblemove == "u":
                           #top face turn
                           #corners
                           temp = uul
                           uul = udl
                           udl = udr
                           udr = uur
                           uur = temp
 
                           #edges
                           temp = uml
                           uml = udm
                           udm = umr
                           umr = uum
                           uum = temp
 
                           #ring around top
                           #corners
                           temp = lul
                           lul = ful
                           ful = rul
                           rul = bur
                           bur = temp
 
 
                           temp2 = lur
                           lur = fur
                           fur = rur
                           rur = bul
                           bul = temp2
 
                           #edges
                           temp = lum
                           lum = fum
                           fum = rum
                           rum = bum
                           bum = temp
 
 
 
                       elif scramblemove == "u'":
                           #top face
                           temp = uul
                           uul = uur
                           uur = udr
                           udr = udl
                           udl = temp
 
                           temp = uum
                           uum = umr
                           umr = udm
                           udm = uml
                           uml = temp
 
                           #ring around top
                           #corners
                           temp = lul
                           lul = bur
                           bur = rul
                           rul = ful
                           ful = temp
 
                           temp2 = lur
                           lur = bul
                           bul = rur
                           rur = fur
                           fur = temp2
 
                           #edges
                           temp = lum
                           lum = bum
                           bum = rum
                           rum = fum
                           fum = temp
 
 
                       elif scramblemove == "r":
                           #right face
                           temp = rul
                           rul = rdl
                           rdl = rdr
                           rdr = rur
                           rur = temp
 
                           temp = rml
                           rml = rdm
                           rdm = rmr
                           rmr = rum
                           rum = temp
 
                           #ring around right face
                           temp = fur
                           fur = dur
                           dur = bdr
                           bdr = uur
                           uur = temp
 
                           temp2 = fdr
                           fdr = ddr
                           ddr = bur
                           bur = udr
                           udr = temp2
 
                           temp = fmr
                           fmr = dmr
                           dmr = bmr
                           bmr = umr
                           umr = temp
 
 
 
                       elif scramblemove == "r'":
                           #right face
                           temp = rul
                           rul = rur
                           rur = rdr
                           rdr = rdl
                           rdl = temp
 
                           temp = rml
                           rml = rum
                           rum = rmr
                           rmr = rdm
                           rdm = temp
 
                           #ring around face
                           temp = fur
                           fur = uur
                           uur = bdr
                           bdr = dur
                           dur = temp
 
                           temp2 = fdr
                           fdr = udr
                           udr = bur
                           bur = ddr
                           ddr = temp2
 
                           temp = fmr
                           fmr = umr
                           umr = bmr
                           bmr = dmr
                           dmr = temp
 
                       elif scramblemove == "l":
                           #left face
                           #corners
                           temp = lul
                           lul = ldl
                           ldl = ldr
                           ldr = lur
                           lur = temp
 
                           #edges
                           temp = lum
                           lum = lml
                           lml = ldm
                           ldm = lmr
                           lmr = temp
 
                           #ring around left side
                           temp = ful
                           ful = uul
                           uul = bdl
                           bdl = dul
                           dul = temp
 
                           temp2 = fdl
                           fdl = udl
                           udl = bul
                           bul = ddl
                           ddl = temp2
 
                           #edges
                           temp = fml
                           fml = uml
                           uml = bml
                           bml = dml
                           dml = temp
 
                       elif scramblemove == "l'":
                           #left face
                           #corners
                           temp = lul
                           lul = lur
                           lur = ldr
                           ldr = ldl
                           ldl = temp
 
                           #edges
                           temp = lum
                           lum = lmr
                           lmr = ldm
                           ldm = lml
                           lml = temp
 
                           #ring around
                           #corners
                           temp = ful
                           ful = dul
                           dul = bdl
                           bdl = uul
                           uul = temp
 
                           temp2 = fdl
                           fdl = ddl
                           ddl = bul
                           bul = udl
                           udl = temp2
 
                           #edges
                           temp = fml
                           fml = dml
                           dml = bml
                           bml = uml
                           uml = temp
 
 
                       elif scramblemove == "d":
                           #bottom face
                           #corners
                           temp = dul
                           dul = ddl
                           ddl = ddr
                           ddr = dur
                           dur = temp
 
                           #edges
                           temp = dum
                           dum = dml
                           dml = ddm
                           ddm = dmr
                           dmr = temp
 
                           #ring around layer
                           #corners
                           temp = fdl
                           fdl = ldl
                           ldl = bdr
                           bdr = rdl
                           rdl = temp
 
                           temp2 = fdr
                           fdr = ldr
                           ldr = bdl
                           bdl = rdr
                           rdr = temp2
 
                           #edges
                           temp = fdm
                           fdm = ldm
                           ldm = bdm
                           bdm = rdm
                           rdm = temp
 
                       elif scramblemove == "d'":
                           #bottom face
                           #corners
                           temp = dul
                           dul = dur
                           dur = ddr
                           ddr = ddl
                           ddl = temp
 
                           #edges
                           temp = dum
                           dum = dmr
                           dmr = ddm
                           ddm = dml
                           dml = temp
 
                           #ring around layer
                           #corners
                           temp = fdl
                           fdl = rdl
                           rdl = bdr
                           bdr = ldl
                           ldl = temp
 
                           temp2 = fdr
                           fdr = rdr
                           rdr = bdl
                           bdl = ldr
                           ldr = temp2
 
                           #edges
                           temp = fdm
                           fdm = rdm
                           rdm = bdm
                           bdm = ldm
                           ldm = temp
 
 
                       elif scramblemove == "b":
                           #back face
                           #corners
                           temp = bul
                           bul = bur
                           bur = bdr
                           bdr = bdl
                           bdl = temp
 
                           #edges
                           temp = bum
                           bum = bmr
                           bmr = bdm
                           bdm = bml
                           bml = temp
 
                           #ring around layer
                           temp = uul
                           uul = rur
                           rur = ddr
                           ddr = ldl
                           ldl = temp
 
                           temp2 = uur
                           uur = rdr
                           rdr = ddl
                           ddl = lul
                           lul = temp2
 
                           #edges
                           temp = uum
                           uum = rmr
                           rmr = ddm
                           ddm = lml
                           lml = temp
 
                       elif scramblemove == "b'":
                           #back face
                           #corners
                           temp = bul
                           bul = bdl
                           bdl = bdr
                           bdr = bur
                           bur = temp
 
                           #edges
                           temp = bum
                           bum = bml
                           bml = bdm
                           bdm = bmr
                           bmr = temp
 
                           #ring around layer
                           #corners
                           temp = uul
                           uul = ldl
                           ldl = ddr
                           ddr = rur
                           rur = temp
 
                           temp2 = uur
                           uur = lul
                           lul = ddl
                           ddl = rdr
                           rdr = temp2
 
                           #edges
                           temp = uum
                           uum = lml
                           lml = ddm
                           ddm = rmr
                           rmr = temp
 
 
               elif pause == "solve the long way":
                   scrambling = 0
                   if ful == red:
                       if fur == red:
                           if fdl == red:
                               if fdr == red:
                                   if bul == orange:
                                       if bur == orange:
                                           if bdl == orange:
                                               if bdr == orange:
                                                  if rul == green:
                                                      if rur == green:
                                                          if rdl == green:
                                                              if rdr == green:
                                                                  if lul == blue:
                                                                      if lur ==blue:
                                                                          if ldl == blue:
                                                                              if ldr == blue:
                                                                                  if uul == yellow:
                                                                                      if uur == yellow:
                                                                                          if udl == yellow:
                                                                                              if udr == yellow:
                                                                                                  if dul == white:
                                                                                                      if dur == white:
                                                                                                          if ddl == white:
                                                                                                              if ddr == white:
                                                                                                                  scrambling = scrambling + 1
                                                                                                                  print("solved")
                                                                                                                  draw2x2()
                   else:
                       moves = ["f", "f'", "u", "u'", "r", "r'", "l", "l'", "d", "d'", "b", "b'"]
                       while scrambling != 1:
                           scramblemove = random.choice(moves)
                           turnsmade = 0
                           turnsmade = turnsmade + 1
                           draw2x2()
                           if scramblemove == "f":
                               #front face
                               #corners
                               temp = ful
                               ful = fdl
                               fdl = fdr
                               fdr = fur
                               fur = temp
 
                               #edges
                               temp = fum
                               fum = fml
                               fml = fdm
                               fdm = fmr
                               fmr = temp
 
                               #ring around
                               #corners
                               temp = udl
                               udl = ldr
                               ldr = dur
                               dur = rul
                               rul = temp
 
                               temp2 = udr
                               udr = lur
                               lur = dul
                               dul = rdl
                               rdl = temp2
 
                               #edges
                               temp = udm
                               udm = lmr
                               lmr = dum
                               dum = rml
                               rml = temp
 
 
 
 
                           elif scramblemove == "f'":
                               #front face
                               #corners
                               temp = ful
                               ful = fur
                               fur = fdr
                               fdr = fdl
                               fdl = temp
                               #edges
                               temp2 = fum
                               fum = fmr
                               fmr = fdm
                               fdm = fml
                               fml = temp2
 
                               #ring around front face
                               #corners
                               temp = lur
                               temp2 = ldr
 
                               lur = udr
                               ldr = udl
 
                               udr = rdl
                               udl = rul
 
                               rdl = dul
                               rul = dur
 
                               dul = temp
                               dur = temp2
 
                               #edges
                               temp = lmr
 
                               lmr = udm
 
                               udm = rml
 
                               rml = dum
 
                               dum = temp
 
 
                           elif scramblemove == "u":
                               #top face turn
                               #corners
                               temp = uul
                               uul = udl
                               udl = udr
                               udr = uur
                               uur = temp
 
                               #edges
                               temp = uml
                               uml = udm
                               udm = umr
                               umr = uum
                               uum = temp
 
                               #ring around top
                               #corners
                               temp = lul
                               lul = ful
                               ful = rul
                               rul = bur
                               bur = temp
 
 
                               temp2 = lur
                               lur = fur
                               fur = rur
                               rur = bul
                               bul = temp2
 
                               #edges
                               temp = lum
                               lum = fum
                               fum = rum
                               rum = bum
                               bum = temp
 
 
 
                           elif scramblemove == "u'":
                               #top face
                               temp = uul
                               uul = uur
                               uur = udr
                               udr = udl
                               udl = temp
 
                               temp = uum
                               uum = umr
                               umr = udm
                               udm = uml
                               uml = temp
 
                               #ring around top
                               #corners
                               temp = lul
                               lul = bur
                               bur = rul
                               rul = ful
                               ful = temp
 
                               temp2 = lur
                               lur = bul
                               bul = rur
                               rur = fur
                               fur = temp2
 
                               #edges
                               temp = lum
                               lum = bum
                               bum = rum
                               rum = fum
                               fum = temp
 
 
                           elif scramblemove == "r":
                               #right face
                               temp = rul
                               rul = rdl
                               rdl = rdr
                               rdr = rur
                               rur = temp
 
                               temp = rml
                               rml = rdm
                               rdm = rmr
                               rmr = rum
                               rum = temp
 
                               #ring around right face
                               temp = fur
                               fur = dur
                               dur = bdr
                               bdr = uur
                               uur = temp
 
                               temp2 = fdr
                               fdr = ddr
                               ddr = bur
                               bur = udr
                               udr = temp2
 
                               temp = fmr
                               fmr = dmr
                               dmr = bmr
                               bmr = umr
                               umr = temp
 
 
 
                           elif scramblemove == "r'":
                               #right face
                               temp = rul
                               rul = rur
                               rur = rdr
                               rdr = rdl
                               rdl = temp
 
                               temp = rml
                               rml = rum
                               rum = rmr
                               rmr = rdm
                               rdm = temp
 
                               #ring around face
                               temp = fur
                               fur = uur
                               uur = bdr
                               bdr = dur
                               dur = temp
 
                               temp2 = fdr
                               fdr = udr
                               udr = bur
                               bur = ddr
                               ddr = temp2
 
                               temp = fmr
                               fmr = umr
                               umr = bmr
                               bmr = dmr
                               dmr = temp
 
                           elif scramblemove == "l":
                               #left face
                               #corners
                               temp = lul
                               lul = ldl
                               ldl = ldr
                               ldr = lur
                               lur = temp
 
                               #edges
                               temp = lum
                               lum = lml
                               lml = ldm
                               ldm = lmr
                               lmr = temp
 
                               #ring around left side
                               temp = ful
                               ful = uul
                               uul = bdl
                               bdl = dul
                               dul = temp
 
                               temp2 = fdl
                               fdl = udl
                               udl = bul
                               bul = ddl
                               ddl = temp2
 
                               #edges
                               temp = fml
                               fml = uml
                               uml = bml
                               bml = dml
                               dml = temp
 
                           elif scramblemove == "l'":
                               #left face
                               #corners
                               temp = lul
                               lul = lur
                               lur = ldr
                               ldr = ldl
                               ldl = temp
 
                               #edges
                               temp = lum
                               lum = lmr
                               lmr = ldm
                               ldm = lml
                               lml = temp
 
                               #ring around
                               #corners
                               temp = ful
                               ful = dul
                               dul = bdl
                               bdl = uul
                               uul = temp
 
                               temp2 = fdl
                               fdl = ddl
                               ddl = bul
                               bul = udl
                               udl = temp2
 
                               #edges
                               temp = fml
                               fml = dml
                               dml = bml
                               bml = uml
                               uml = temp
 
 
                           elif scramblemove == "d":
                               #bottom face
                               #corners
                               temp = dul
                               dul = ddl
                               ddl = ddr
                               ddr = dur
                               dur = temp
 
                               #edges
                               temp = dum
                               dum = dml
                               dml = ddm
                               ddm = dmr
                               dmr = temp
 
                               #ring around layer
                               #corners
                               temp = fdl
                               fdl = ldl
                               ldl = bdr
                               bdr = rdl
                               rdl = temp
 
                               temp2 = fdr
                               fdr = ldr
                               ldr = bdl
                               bdl = rdr
                               rdr = temp2
 
                               #edges
                               temp = fdm
                               fdm = ldm
                               ldm = bdm
                               bdm = rdm
                               rdm = temp
 
                           elif scramblemove == "d'":
                               #bottom face
                               #corners
                               temp = dul
                               dul = dur
                               dur = ddr
                               ddr = ddl
                               ddl = temp
 
                               #edges
                               temp = dum
                               dum = dmr
                               dmr = ddm
                               ddm = dml
                               dml = temp
 
                               #ring around layer
                               #corners
                               temp = fdl
                               fdl = rdl
                               rdl = bdr
                               bdr = ldl
                               ldl = temp
 
                               temp2 = fdr
                               fdr = rdr
                               rdr = bdl
                               bdl = ldr
                               ldr = temp2
 
                               #edges
                               temp = fdm
                               fdm = rdm
                               rdm = bdm
                               bdm = ldm
                               ldm = temp
 
 
                           elif scramblemove == "b":
                               #back face
                               #corners
                               temp = bul
                               bul = bur
                               bur = bdr
                               bdr = bdl
                               bdl = temp
 
                               #edges
                               temp = bum
                               bum = bmr
                               bmr = bdm
                               bdm = bml
                               bml = temp
 
                               #ring around layer
                               temp = uul
                               uul = rur
                               rur = ddr
                               ddr = ldl
                               ldl = temp
 
                               temp2 = uur
                               uur = rdr
                               rdr = ddl
                               ddl = lul
                               lul = temp2
 
                               #edges
                               temp = uum
                               uum = rmr
                               rmr = ddm
                               ddm = lml
                               lml = temp
 
                           elif scramblemove == "b'":
                               #back face
                               #corners
                               temp = bul
                               bul = bdl
                               bdl = bdr
                               bdr = bur
                               bur = temp
 
                               #edges
                               temp = bum
                               bum = bml
                               bml = bdm
                               bdm = bmr
                               bmr = temp
 
                               #ring around layer
                               #corners
                               temp = uul
                               uul = ldl
                               ldl = ddr
                               ddr = rur
                               rur = temp
 
                               temp2 = uur
                               uur = lul
                               lul = ddl
                               ddl = rdr
                               rdr = temp2
 
                               #edges
                               temp = uum
                               uum = lml
                               lml = ddm
                               ddm = rmr
                               rmr = temp
 
               elif pause == "back":
                   stall = 0
               draw2x2()
 
 
 
 
 
 
 
 
 
 
 
 
 
       draw2x2()
       input()

Comments