package main; import model.Board; import model.Move; import model.Solver; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Deque; public class AsciiMain { public static void main(String[] args) throws IOException { System.out.println("Enter level filename:"); String filename = new BufferedReader(new InputStreamReader(System.in)).readLine(); Board level = new Board(filename); System.out.println("Starting board:"); System.out.println(level); System.out.println("Solving..."); Solver solver = new Solver(level); Deque<Move> moves = solver.solve(true); if(moves == null) { System.out.println("This level has no solution!"); } else { System.out.println("Solved! The solution is composed of "+moves.size()+" steps."); for (Move m : moves) { System.out.println(m); level.play(m); System.out.println(level); } } } }