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); }
public void WriteGrid() { foreach (var line in GridLines) { _inputOutput.AddInput(line); } }