Skip to content
Snippets Groups Projects
AsciiMain.java 938 B
Newer Older
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);
			}
		}

	}
	
}