<commit_before># Keep a history of past moves and be able to undo them?

import tools

class Puzzle:
    FACE_U = tools.Vector.k
    FACE_D = tools.Vector.k.negate()
    FACE_L = tools.Vector.j.negate()
    FACE_R = tools.Vector.j
    FACE_F = tools.Vector.i
    FACE_B = tools.Vector.i.negate()
    
    def __init__(self, moves, modifiers):
        self.moves = moves.split(" ")
        self.modifiers = [""] + modifiers.split(" ")
        if type(self) is Puzzle:
            raise NotImplementedError

    def applyMoves(self, algorithm):
        raise NotImplementedError

    def fitness(self):
        raise NotImplementedError

    def __str__(self):
        return "Moves: " + str(self.moves) + "\nModifiers: " + str(self.modifiers)

class ThreeByThreeCube(Puzzle):
    def __init__(self, scramble = None):
        Puzzle.__init__(self, "U D L R F B", "' 2")
        self.cubies = [tools.Cubie(tools.Vector(i, j, k))<commit_msg>Relocated FACE vectors to correct class. oops!<commit_after># Keep a history of past moves and be able to undo them?

import tools

class Puzzle:
    def __init__(self, moves, modifiers):
        self.moves = moves.split(" ")
        self.modifiers = [""] + modifiers.split(" ")
        if type(self) is Puzzle:
            raise NotImplementedError

    def applyMoves(self, algorithm):
        raise NotImplementedError

    def fitness(self):
        raise NotImplementedError

    def __str__(self):
        return "Moves: " + str(self.moves) + "\nModifiers: " + str(self.modifiers)

class ThreeByThreeCube(Puzzle):
    FACE_U = tools.Vector.k
    FACE_D = tools.Vector.k.negate()
    FACE_L = tools.Vector.j.negate()
    FACE_R = tools.Vector.j
    FACE_F = tools.Vector.i
    FACE_B = tools.Vector.i.negate()
    
    def __init__(self, scramble = None):
        Puzzle.__init__(self, "U D L R F B", "' 2")
        self.cubies = [tools.Cubie(tools.Vector(i, j, k))
{'fraction_non_alphanumeric': 0.12165705296276874, 'fraction_numerical': 0.001048767697954903, 'mean_word_length': 2.7120622568093387, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1600511', 'n_tokens_mistral': 669, 'n_tokens_neox': 635, 'n_words': 159}