anchor.diff:      int result = 17;
       result = 37 * result + row.hashCode;
       result = 37 * result + col.hashCode;
  -    result = 37 * result + dotCount.hashCode;
       result = 37 * result + piece.hashCode;
       return result;
     }
  
positive.code: //    context.fillStyle = '#00f';
  //    context.fillRect(dotContainerRect.left, dotContainerRect.top, dotContainerRect.width, dotContainerRect.height);
  
      if (dotCount == 1) {
        _renderOneDot(context, dotContainerRect);
      } else if (dotCount == 2) {
        _renderTwoDots(context, dotContainerRect);
      } else if (dotCount == 3) {
        _renderThreeDots(context, dotContainerRect);
      }
    }
  
negative.code:   
    num row, col;
    Piece piece;
  
    Tile(this.row, this.col, this.piece);
    
    bool operator ==(other) {
      if (other is !Tile) { return false; }
      return row == other.row && col == other.col && piece == other.piece; 
    }
  
    int get hashCode {
  