static void Main(string[] args) { Console.WriteLine("Size: "); String input = Console.ReadLine(); int size = Int32.Parse(input); Puzzle puzzle = new Puzzle(size); PuzzlePrinter printer = new PuzzlePrinter(puzzle); printer.PrintPuzzle(); while (true) { Console.WriteLine("Move Target: "); input = Console.ReadLine(); if (input != null) { if (input.Equals("quit")) { break; } Tile targetTile = printer[input]; if (targetTile != null) { Puzzle.MoveProperties moveProperties = puzzle.MakeMove(targetTile.CurrentPosition); if (moveProperties.Direction != Puzzle.MoveDirection.None) { printer.PrintPuzzle(); } } } } }