static void Main(string[] args) { GameData dt = Helpers.ReadData(); foreach (var moves in dt.SeriesOfMoves) { Turtle tr = new Turtle(dt.StartPosOfTurtle.X, dt.StartPosOfTurtle.Y, dt.DirectionOfTurtle); Minefield mf = new Minefield(new Coordinate { X = dt.BoardSizeX, Y = dt.BoardSizeY }, dt.MineCoordinates, dt.ExitPoint, tr); var gameResult = mf.RunGame(moves); if (gameResult == GameResult.MineHit) { Console.WriteLine(String.Format("Mine hit for the Moves of {0}.", moves)); } else if (gameResult == GameResult.Success) { Console.WriteLine(String.Format("Success for the Moves of {0}.", moves)); } else { Console.WriteLine(String.Format("Still in danger for the Moves of {0}.", moves)); } } Console.Read(); }
/* * I added two extra response besides the ones defined in the document (success, mine hit and lost) * I added an error response used when validation fails and an outside grid error used when the turtle falls off/steps outside grid */ static void Main(string[] args) { var cfg = InitOptions <AppConfig>(); var setupDirectory = Path.Combine(cfg.SetupFilePath, cfg.SetupFileName); var setupLines = File.ReadAllLines(setupDirectory); var validation = new Validation(); var result = validation.ValidateSetupFile(setupLines); if (result == Result.ValidationOk) { var minefield = new Minefield(setupLines); result = minefield.ExecuteMoves(); } Console.WriteLine(new Response(result).Description); Console.ReadKey(); }