Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        /*
         * 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();
        }