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
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()