public Task RunAsync(out FakeInputOutput inputOutput)
        {
            var localInputOutput = new FakeInputOutput(_token);
            var testGrid         = new TestGrid(_gridWidth, _gridHeight, _gridInput, localInputOutput);

            foreach (var pac in _pacs)
            {
                testGrid.AddPac(pac);
            }

            localInputOutput.AddInput($"{_gridWidth} {_gridHeight}");
            testGrid.WriteGrid();
            testGrid.WriteScores();
            testGrid.WritePacs();
            testGrid.WritePellets();

            var game = new Player(localInputOutput, _actionStrategy);
            var task = Task.Run(() =>
            {
                game.Run(_token);
                localInputOutput.CompleteOutput();
            }, _token);

            inputOutput = localInputOutput;
            return(task);
        }
Example #2
0
 public void WriteGrid()
 {
     foreach (var line in GridLines)
     {
         _inputOutput.AddInput(line);
     }
 }