Commit 69fa8f7b authored by Aurelien Dufour's avatar Aurelien Dufour
Browse files

tous les jeux sont fonctionnels

parent 43c09c15
Loading
Loading
Loading
Loading
+6 −26
Original line number Diff line number Diff line
from model.level import Level
from model.levelEnum import getTreeDyckWordToPlanarTree
from model.node import IncompleteNode, planarTreeToBinaryTree, checkPlanarNode
from model.node import IncompleteNode, planarTreeToBinaryTree, checkPlanarNode, binaryTreeToPlanarTree
from model.tree import Tree


@@ -8,6 +8,7 @@ class LevelDyckWordToPlanarTree(Level):
    def __init__(self, index):
        super().__init__(index)
        self.answer = getTreeDyckWordToPlanarTree(index)
        self.planarAnswer = Tree(binaryTreeToPlanarTree(self.answer.root))
        self.tree = None
        self.score = None
        self.initialize()
@@ -23,29 +24,9 @@ class LevelDyckWordToPlanarTree(Level):
        self.tree.root.addNode(index, nodeType)

    def checkTree(self, index: int, nodeType: str):
        copyTree = self.tree.copyTree()
        if nodeType == "branch":
            copyTree.completeNode(index, nodeType)
            copyTree = Tree(planarTreeToBinaryTree(copyTree.root))
            if self.answer.root.checkNodeBis(copyTree.root):
                self.tree.completeNode(index, nodeType)
                return True
            else:
                return False
        else:
            print(index)
            print(copyTree.root)
            depth = copyTree.root.getDepthFromIndex(index)
            print("depth: ")
            print(depth)
            nbChildren = copyTree.root.getNbChildrenFromIndex(index)
            print("children: ")
            print(nbChildren)
            copyTree.root.numberNodes()
            print("index: ")
            print(copyTree.root.index)
            print(checkPlanarNode(self.answer.dyckWord, copyTree.root.index, depth))
            if checkPlanarNode(self.answer.dyckWord, copyTree.root.index, depth):
        copy = self.tree.copyTree()
        copy.completeNode(index, nodeType)
        if self.planarAnswer.root.checkNode(copy.root):
            self.tree.completeNode(index, nodeType)
            return True
        else:
@@ -56,5 +37,4 @@ class LevelDyckWordToPlanarTree(Level):
        self.tree = Tree(IncompleteNode([]))

    def finished(self):
        root = planarTreeToBinaryTree(self.tree.root)
        return self.answer.root.isEqual(root)
        return self.planarAnswer.root.isEqual(self.tree.root)
 No newline at end of file
+1 −1
Original line number Diff line number Diff line
@@ -623,7 +623,7 @@ class IncompleteNode(PlanarNode):
            self.children[0].numberIncompleteNodes(index + 1, newBrothers)

    def getIndex(self, incompleteNodeIndex: int):
        
        pass

    def getDepthFromIndexRec(self, index, brothers=None):
        if brothers is None: