public void Undo(PhutballMoveContext context) { var board = context.FieldsUpdater; _selectedField.Select(); _jumpedFields.Each(field => field.PlaceBlackStone()); _newSelectedField.DeSelect(); _selectedField.PlaceWhiteStone(); _newSelectedField.RemoveStone(); NotifyOfFieldsStateChange(board); }
public void Undo(PhutballMoveContext context) { _moves.AsEnumerable().Reverse().Each(move => context.PerformMoves.Undo(move)); }
public void Perform(PhutballMoveContext context) { _moves.Each(move => context.PerformMoves.Perform(move)); }