@Override public boolean equals(Object object){
  if (this == object) {
    return true;
  }
 else   if ((object == null) || (getClass() != object.getClass())) {
    return false;
  }
  final Terrain other=(Terrain)object;
  return (type == other.type) && (level == other.level);
}

@ Override public boolean equals ( Object object ) { if ( this == object ) { return true ; } else if ( ( object == null ) || ( getClass ( ) != object . getClass ( ) ) ) { return false ; } final Terrain other = ( Terrain ) object ; return ( type == other . type ) && ( level == other . level ) ; }
terrains are equal if their types and levels are equal . does not pay attention to exits .
