Beispiel #1
0
        public static string InputCycle(Board board)
        {
            string displayString = "";
            bool   moveMade      = false;

            string input = cReadLine();

            switch (input)
            {
            case "W":
                moveMade =
                    CharacterController.Move(board, input);
                break;

            case "E":
                moveMade =
                    CharacterController.Move(board, input);
                break;

            case "S":
                moveMade =
                    CharacterController.Move(board, input);
                break;

            case "N":
                moveMade =
                    CharacterController.Move(board, input);
                break;

            case "ATTACK":
                moveMade =
                    Attack(board);
                break;

            case "EXIT":
                moveMade = false;
                break;

            default:
                moveMade = true;
                break;
            }

            if (!moveMade)
            {
                Console.WriteLine("Invalid move");
                Console.WriteLine(PresentationController.PresentBoard(board));
                InputCycle(board);
            }

            if (board.CharacterEscaped)
            {
                board = BoardController.Setup();
            }

            if (moveMade)
            {
                Console.Clear();
                Console.WriteLine(PresentationController.PresentBoard(board));
                InputCycle(board);
            }

            return(displayString);
        }