anchor.diff:          }
   
           // Can only select one past the completed level.
  -        if (level > getCompletedLevel(area)) {
  +        if (i >= _openAreas || level > getCompletedLevel(area)) {
             fore = Color.DARK_GRAY;
           }
   
  
positive.code: 
    void _changeSelection(int area, int level) {
      if (area < 0) area = 0;
      if (area >= content.areas.length) {
        area = content.areas.length - 1;
      }
  
      selectedArea = area;
  
negative.code:   final Storage storage;
    int selectedArea = 0;
    int selectedLevel = 0;
  
    /// Gets the number of areas that the Hero is allowed to enter.
    ///
    /// For an area to be open, at least one level must have been completed in
    /// the previous area.
    int get _openAreas {
      var i;
      for (i = 1; i < content.areas.length; i++) {
        if (getCompletedLevel(content.areas[i - 1]) == 0) break;
      }
  
      return i;
    }
  
    SelectLevelScreen(this.content, this.save, this.storage);
  
  