Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def ASTar(self):
- opened = [self]
- closed = []
- while opened != []:
- x = self.FindX()
- opened = sorted(opened,key=operator.attrgetter("gAndH"), reverse= False)
- node = opened[0]
- opened.remove(opened[0])
- if self.SamePuzzle(node.differentGameField, self.originalgameField):
- break
- for i in closed:
- if self.SamePuzzle(node.differentGameField, i.differentGameField):
- continue
- closed.append(node)
- if(self.MoveUp(x)):
- opened.append(self.MoveUp(x))
- if(self.MoveDown(x)):
- opened.append(self.MoveDown(x))
- if(self.MoveLeft(x)):
- opened.append(self.MoveLeft(x))
- if(self.MoveRight(x)):
- opened.append(self.MoveRight(x))
- self.DrawTable(node.differentGameField)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement