public IEnumerable<Position> ContinueFrom(Position current) { var open = Dynamizer.DoorsState(Passcode, current); var possible = Moves.Where((move, i) => open[i]).Select(move => ResultingPosition(current, move)); var valid = possible.Where(pos => pos.X >= 0 && pos.X < XDimension && pos.Y >= 0 && pos.Y < YDimension); return valid; }
public Maze(string passcode, Dynamizer dynamizer) { Passcode = passcode; Dynamizer = dynamizer; }