示例#1
0
        public void InitEngineTest()
        {
            Player player = new Player('*', 3, 3);
            IRenderer renderer = new ConsoleRenderer();
            IController controller = new KeyboardController();
            ScoreBoard scoreBoard = new ScoreBoard();

            Engine engine = new Engine(player, renderer, controller, scoreBoard);
        }
示例#2
0
        static void Main()
        {
            Console.WriteLine("Welcome to “Labirinth” game. Please try to escape. Use 'top' to view the top");
            Console.WriteLine("scoreboard, 'restart' to start a new game and 'exit' to quit the game.");

            ScoreBoard scoreBoard = new ScoreBoard();
            while (true)
            {
                IController keyboard = new KeyboardController();
                IRenderer renderer = new ConsoleRenderer();
                Player player = new Player('*', 3, 3);
                Engine engine = new Engine(player, renderer, keyboard, scoreBoard);

                engine.StartGame();
            }
        }
 public static void Main()
 {
     Engine labyrinthEngine = new Engine(SizeOfTheLabyrinth);
     labyrinthEngine.PlayGame();
 }
        public void PlayGameTestDifferentMoves()
        {
            this.InitializeData();

            StringBuilder input = new StringBuilder();
            input.AppendLine("u");
            input.AppendLine("l");
            input.AppendLine("r");
            input.AppendLine("d");
            input.AppendLine("u");
            input.AppendLine("u");
            input.AppendLine("u");
            input.AppendLine("Pesho");
            input.AppendLine("exit");

            using (var sw = new StringWriter())
            {
                using (var sr = new StringReader(input.ToString()))
                {
                    Console.SetOut(sw);
                    Console.SetIn(sr);

                    Engine engine = new Engine(this.labyrinth);

                    engine.PlayGame();

                    StringBuilder expected = new StringBuilder();
                    string terminateLine = "1. Pesho --> 7";
                    int lineOfTermination = 0;
                    string[] lines;
                    char[] delims = { '\r', '\n' };
                    using (var stream = new StreamReader("..\\..\\expected2.txt"))
                    {
                        while (!stream.EndOfStream)
                        {
                            lines = stream.ReadToEnd().Split(delims, StringSplitOptions.RemoveEmptyEntries);

                            for (int i = 0; i < lines.Length; i++)
                            {
                                if (!string.IsNullOrWhiteSpace(lines[i]))
                                {
                                    expected.AppendLine(lines[i]);
                                    if (lines[i] == terminateLine)
                                    {
                                        lineOfTermination = i;
                                        break;
                                    }
                                }
                            }
                        }
                    }

                    StringBuilder actual = new StringBuilder();

                    string[] splitLines = sw.ToString().Split(delims, StringSplitOptions.RemoveEmptyEntries);

                    for (int i = 0; i < splitLines.Length && i <= lineOfTermination; i++)
                    {
                        if (!string.IsNullOrWhiteSpace(splitLines[i]))
                        {
                            actual.AppendLine(splitLines[i]);
                        }
                    }

                    Assert.AreEqual(expected.ToString(), actual.ToString());
                }
            }
        }