public int CompareTo(State other) { int t; t = Time.CompareTo(other.Time); if (t != 0) { return(t); } t = Dropping.CompareTo(other.Dropping); if (t != 0) { return(t); } t = WaterLevel.CompareTo(other.WaterLevel); if (t != 0) { return(t); } t = Row.CompareTo(other.Row); if (t != 0) { return(t); } t = Column.CompareTo(other.Column); if (t != 0) { return(t); } return(0); }