Пример #1
0
        private async Task ExecuteAsync(bool render)
        {
            _render = render;
            await _game.Execute();

            if (_render)
            {
                Console.Clear();
            }

            while (_gameOutput.HasInputToRead())
            {
                var x = (int)await _gameOutput.ReadInput();

                var y = (int)await _gameOutput.ReadInput();

                var character = (int)await _gameOutput.ReadInput();

                Render(x, y, _characters[character]);
            }

            if (_render)
            {
                Console.WriteLine();
            }
        }
Пример #2
0
        private async Task <long> GetTractorAreaAsync(int fieldSize)
        {
            long pullCount = 0;

            for (var y = 0; y < fieldSize; y++)
            {
                for (var x = 0; x < fieldSize; x++)
                {
                    InitialiseDrone();
                    var controllerTask = _droneController.Execute();

                    _droneInput.Output(x);
                    _droneInput.Output(y);

                    var isPulled = await _droneOutput.ReadInput();

                    pullCount += isPulled;
                }
            }
            return(pullCount);
        }