anchor.diff:                                               'K', 'L', 'M', 'N', 'O', 'P', 
                                                'QU', 'R', 'S', 'T', 'U', 'V',
                                                'W', 'X', 'Y', 'Z'];
  +  
     List<List<String>> grid = new List.generate(4, (_) => new List<String>(4));
     int score = 0;
     Dictionary dictionary;
  
positive.code:     }
    }
    
    bool validPath(position1, position2) {
      bool validPath = true;
      
      if (!_vertical(position1, position2) && 
          !_horizontal(position1, position2) &&
          !_diagonal(position1, position2)) {
        validPath = false;
      }
      return validPath;
    }
  
  // Args are GameLoopTouchPosition(s).
    bool _vertical(position1, position2) => position1.x == position2.x;
  
    bool _horizontal(position1, position2) => position1.y == position2.y;
  
negative.code:   }
    
    bool _wordIsValid(String word) => dictionary.hasWord(word);
  }
  