Exemplo n.º 1
0
        public void Run()
        {
            var previousMouseButtonState = MouseButtonState.ALL_RELEASED;

            foreach (var consoleInput in LowLevelConsoleFunctions.ReadConsoleInput())
            {
                switch (consoleInput.EventType)
                {
                case InputEventType.KEY_EVENT:
                    if (consoleInput.KeyEvent.KeyDown)
                    {
                        for (int i = 0; i < consoleInput.KeyEvent.RepeatCount; i++)
                        {
                            HandleKeyEvent(consoleInput.KeyEvent.ToConsoleKeyInfo());
                        }
                    }

                    break;

                case InputEventType.MOUSE_EVENT:
                    HandleMouseEvent(
                        previousMouseButtonState,
                        consoleInput.MouseEvent.EventFlags,
                        consoleInput.MouseEvent.ButtonState,
                        consoleInput.MouseEvent.MousePosition);

                    previousMouseButtonState = consoleInput.MouseEvent.ButtonState;
                    break;

                case InputEventType.WINDOW_BUFFER_SIZE_EVENT:
                    if (_display.CheckSize())
                    {
                        //window size is correct
                        RevalidateWindow();
                    }
                    else
                    {
                        //window was resized
                        InvalidateWindow();
                    }
                    break;

                default:
                    break;
                }

                if (_quit)
                {
                    break;
                }
            }
        }
Exemplo n.º 2
0
        public static void Main(string[] args)
        {
            Console.Title = "Battleship";

            LowLevelConsoleFunctions.SetInputMode(
                ConsoleModeInput.ENABLE_WINDOW_INPUT |
                ConsoleModeInput.ENABLE_MOUSE_INPUT |
                ConsoleModeInput.ENABLE_EXTENDED_FLAGS);

            LowLevelConsoleFunctions.SetOutputMode(
                ConsoleModeOutput.DISABLE_NEWLINE_AUTO_RETURN);

            var game = new Game();

            game.Run();
        }