Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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);
}
}
}
}