15 puzzle solver: Difference between revisions
Content added Content deleted
(New post.) |
m (Small code improvement.) |
||
Line 6,345: | Line 6,345: | ||
if ( column > 0 ) { |
if ( column > 0 ) { |
||
⚫ | |||
makeMove( |
nextPuzzle.makeMove(Move.LEFT); |
||
} |
} |
||
if ( column < 3 ) { |
if ( column < 3 ) { |
||
Puzzle nextPuzzle = current.clone(); |
|||
⚫ | |||
} |
} |
||
if ( row > 0 ) { |
if ( row > 0 ) { |
||
Puzzle nextPuzzle = current.clone(); |
|||
nextPuzzle.makeMove(Move.UP); |
|||
} |
} |
||
if ( row < 3 ) { |
if ( row < 3 ) { |
||
Puzzle nextPuzzle = current.clone(); |
|||
nextPuzzle.makeMove(Move.DOWN); |
|||
} |
} |
||
} |
|||
⚫ | |||
private static void makeMove(Puzzle aPuzzle, int aIndex, Move aMove) { |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
} |
} |
||
Line 6,385: | Line 6,371: | ||
private String symbol; |
private String symbol; |
||
private |
private Integer step; |
||
} |
} |
||
Line 6,396: | Line 6,382: | ||
searchDepth = aSearchDepth; |
searchDepth = aSearchDepth; |
||
} |
} |
||
⚫ | |||
public void makeMove(Move aMove) { |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
moves.add(aMove.symbol); |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
} |
|||
⚫ | |||
} |
|||
public long heuristic() { |
public long heuristic() { |
||
Line 6,449: | Line 6,451: | ||
private static Set<Puzzle> closedSet = new HashSet<Puzzle>(); |
private static Set<Puzzle> closedSet = new HashSet<Puzzle>(); |
||
private static Puzzle solution; |
private static Puzzle solution; |
||
} |
} |
||
</syntaxhighlight> |
</syntaxhighlight> |