Commit 908f5b7c authored by Aurelien Dufour's avatar Aurelien Dufour
Browse files

modification des niveaux hardcodés

parent 132f21b7
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
from model.level import Level
from model.levelEnum import getTree
from model.levelEnum import getTreeBinaryTreeToDyckWord, getTreeBinaryTreeToPlanarTree
from model.node import BinaryNode, EmptyNode, PlanarNode, IncompleteNode, binaryTreeToPlanarTree
from model.tree import Tree

@@ -7,7 +7,7 @@ from model.tree import Tree
class LevelBinaryTreeToPlanarTree(Level):
    def __init__(self, index):
        super().__init__(index)
        self.answer = getTree(index)
        self.answer = getTreeBinaryTreeToPlanarTree(index)
        self.planarAnswer = Tree(binaryTreeToPlanarTree(self.answer.root))
        self.tree = None
        self.score = None
+2 −2
Original line number Diff line number Diff line
from random import randint

from model.level import Level
from model.levelEnum import getTree
from model.levelEnum import getTreeBinaryTreeToDyckWord
from model.node import putHole


@@ -24,7 +24,7 @@ def getIncompleteWord(dyckWord):
class LevelBinaryTreeToDyckWord(Level):
    def __init__(self, index):
        super().__init__(index)
        self.tree = getTree(index)
        self.tree = getTreeBinaryTreeToDyckWord(index)
        self.dyckWord = self.tree.dyckWord
        self.incompleteWord = getIncompleteWord(self.dyckWord)
        self.answer = ""
+2 −2
Original line number Diff line number Diff line
from model.level import Level
from model.levelEnum import getTree
from model.levelEnum import getTreeBinaryTreeToDyckWord, getTreeDyckWordToBinaryTree
from model.node import BinaryNode, EmptyNode
from model.tree import Tree

@@ -7,7 +7,7 @@ from model.tree import Tree
class LevelDyckWordToBinaryTree(Level):
    def __init__(self, index):
        super().__init__(index)
        self.answer = getTree(index)
        self.answer = getTreeDyckWordToBinaryTree(index)
        self.tree = None
        self.score = None
        self.initialize()
+51 −24
Original line number Diff line number Diff line
@@ -4,37 +4,64 @@ from enum import Enum
from model.node import BinaryNode, Leaf, randomTree, PlanarNode, planarTreeToBinaryTree
from model.tree import Tree

n = PlanarNode([
    PlanarNode([]),
    PlanarNode([
        PlanarNode([
            PlanarNode([]),
            PlanarNode([]),
            PlanarNode([]),
            PlanarNode([])
        ])
    ]),
    PlanarNode([
        PlanarNode([]),
        PlanarNode([
            PlanarNode([])
        ]),
        PlanarNode([]),
    ])
])
bn = planarTreeToBinaryTree(n)
Levels = Enum("Levels", [

LevelsBinaryTreeToDyckWord = Enum("Levels", [
    ("Lvl1", Tree(BinaryNode(Leaf(), BinaryNode(Leaf(), Leaf())))),
    ("Lvl2", Tree(BinaryNode(BinaryNode(Leaf(), Leaf()), BinaryNode(Leaf(), Leaf())))),
    ("Lvl3", Tree(BinaryNode(BinaryNode(Leaf(), BinaryNode(Leaf(), Leaf())), BinaryNode(Leaf(), Leaf()))))])

LevelsDyckWordToBinaryTree = Enum("Levels", [
    ("Lvl1", Tree(BinaryNode(BinaryNode(Leaf(), Leaf()), Leaf()))),
    ("Lvl2", Tree(BinaryNode(BinaryNode(Leaf(), Leaf()), BinaryNode(Leaf(), Leaf())))),
    ("Lvl3", Tree(BinaryNode(BinaryNode(Leaf(), BinaryNode(Leaf(), Leaf())), BinaryNode(Leaf(), Leaf()))))])

LevelsPlanarTreeToBinaryTree = Enum("Levels", [
    ("Lvl1", Tree(BinaryNode(Leaf(), BinaryNode(Leaf(), BinaryNode(Leaf(), Leaf()))))),
    ("Lvl2", Tree(BinaryNode(BinaryNode(Leaf(), Leaf()), BinaryNode(Leaf(), Leaf())))),
    ("Lvl3", Tree(BinaryNode(BinaryNode(Leaf(), BinaryNode(Leaf(), Leaf())), BinaryNode(Leaf(), Leaf()))))])

LevelsBinaryTreeToPlanarTree = Enum("Levels", [
    ("Lvl1", Tree(BinaryNode(Leaf(), BinaryNode(Leaf(), BinaryNode(Leaf(), Leaf()))))),
    ("Lvl2", Tree(BinaryNode(BinaryNode(Leaf(), Leaf()), BinaryNode(Leaf(), Leaf())))),
    ("Lvl3", Tree(BinaryNode(BinaryNode(Leaf(), BinaryNode(Leaf(), Leaf())), BinaryNode(Leaf(), Leaf()))))])


def getTreeBinaryTreeToDyckWord(level):
    if level == 1:
        return LevelsBinaryTreeToDyckWord.Lvl1.value
    elif level == 2:
        return LevelsBinaryTreeToDyckWord.Lvl2.value
    elif level == 3:
        return LevelsBinaryTreeToDyckWord.Lvl3.value
    else:
        return Tree(randomTree(level + 1))

def getTreeDyckWordToBinaryTree(level):
    if level == 1:
        return LevelsDyckWordToBinaryTree.Lvl1.value
    elif level == 2:
        return LevelsDyckWordToBinaryTree.Lvl2.value
    elif level == 3:
        return LevelsDyckWordToBinaryTree.Lvl3.value
    else:
        return Tree(randomTree(level + 1))

def getTreePlanarTreeToBinaryTree(level):
    if level == 1:
        return LevelsPlanarTreeToBinaryTree.Lvl1.value
    elif level == 2:
        return LevelsPlanarTreeToBinaryTree.Lvl2.value
    elif level == 3:
        return LevelsPlanarTreeToBinaryTree.Lvl3.value
    else:
        return Tree(randomTree(level + 1))

def getTree(level):
def getTreeBinaryTreeToPlanarTree(level):
    if level == 1:
        return Levels.Lvl1.value
        return LevelsBinaryTreeToPlanarTree.Lvl1.value
    elif level == 2:
        return Levels.Lvl2.value
        return LevelsBinaryTreeToPlanarTree.Lvl2.value
    elif level == 3:
        return Levels.Lvl3.value
        return LevelsBinaryTreeToPlanarTree.Lvl3.value
    else:
        return Tree(randomTree(level + 1))
 No newline at end of file
+2 −2
Original line number Diff line number Diff line
from model.level import Level
from model.levelEnum import getTree
from model.levelEnum import getTreeBinaryTreeToDyckWord, getTreePlanarTreeToBinaryTree
from model.node import BinaryNode, EmptyNode, binaryTreeToPlanarTree
from model.tree import Tree

@@ -7,7 +7,7 @@ from model.tree import Tree
class LevelPlanarTreeToBinaryTree(Level):
    def __init__(self, index):
        super().__init__(index)
        self.binaryAnswer = getTree(index)
        self.binaryAnswer = getTreePlanarTreeToBinaryTree(index)
        self.answer = Tree(binaryTreeToPlanarTree(self.binaryAnswer.root))
        self.tree = None
        self.score = None