public Puzzle(Puzzle puzzle) { MoveList = new List <int>(puzzle.MoveList); Nodes = puzzle.Nodes.Clone() as PuzzleNodeList; ConnectNodes(Connections, Nodes); }
public int GetCost() => Puzzle.GetCost() + Level;
public override int GetHashCode() { return(Puzzle != null ? Puzzle.GetHashCode() : 0); }
public PuzzleState(Puzzle puzzle, int level) { Puzzle = puzzle; Level = level; }