public IScenario PostProcessing() { var postScenario = new SimpleScenario(); if (IsGameLost() || IsGameWon()) { var endGameModifier = new EndGameModifier(Game); endGameModifier.Source = this; postScenario.Modifiers.Add(endGameModifier); } return postScenario; }
private IScenario MoveScenario(MakeMoveModifier moveModifier) { CheckMoveCoordiantes(moveModifier.From, moveModifier.To); var cell = GetMiddleCell(moveModifier.From, moveModifier.To); var emptyModifier = new EmptyCellModifier(cell) { Source = this }; var scenario = new SimpleScenario(); scenario.Modifiers.Add(moveModifier); scenario.Modifiers.Add(emptyModifier); return scenario; }