Exemplo n.º 1
0
from cube import Cube
from solver import Solver
import random

num_trials = 1000
scramble_moves_per_trial = 100

results = []

successes = 0
attempts = 0

for i in range(1, num_trials + 1):
  cube = Cube()
 
  scramble = cube.generate_scramble_sequence(
      moves=scramble_moves_per_trial, seed=i)
  
  cube.apply_sequence(scramble)
 
  result = "" 
  if cube.is_solved():
    result += "NOTE: cube was already solved! "
  
  solution = Solver().find_solution(cube)
  attempts += 1
  
  cube.apply_sequence(solution)
  success = cube.is_solved()
  if success:
    result += "Successfully solved!"
    successes += 1
Exemplo n.º 2
0
import graphics
from cube import Cube
from solver import Solver

def run_sequence(sequence, cube, display):
  for move in sequence:
    display.wait_for_key()
    face, times = move
    cube.rotate(face, times)
    display.draw()
  display.wait_for_key()

cube = Cube()
display = graphics.CubeDisplay(cube)

sequence = cube.generate_scramble_sequence(moves=10, seed=710)
print 'Scrambling sequence: ' + str(sequence)
run_sequence(sequence, cube, display)

solution = Solver(debug_display=display, print_debug=True).find_solution(cube)
print 'Solution sequence: ' + str(solution)
run_sequence(solution, cube, display)

display.wait_until_quit()