public static List <Game26> GetNeighbors(Game26 current) { List <Game26> list = new List <Game26>(); var moves = current.getMoves(); for (int i = 0; i < moves.Count; i++) { Game26 copy = current.Copy(); copy.moveTile(moves[i].x, moves[i].y); copy.finalDistance = double.PositiveInfinity; copy.distance = double.PositiveInfinity; list.Add(copy); } return(list); }