content: package com.iluwatar.doubledispatch;
  
  /**
   * 
   * Meteoroid game object
   *
   */
  public class Meteoroid extends GameObject {
  
  	public Meteoroid(int left, int top, int right, int bottom) {
  		super(left, top, right, bottom);
  	}
  
  	@Override
  	public void collision(GameObject gameObject) {
  		gameObject.collisionResolve(this);
  	}
  
  	@Override
  	public void collisionResolve(FlamingAsteroid asteroid) {
  		System.out.println(String.format("%s hits %s.", asteroid.getClass().getSimpleName(), this.getClass().getSimpleName()));
  	}
  
  	@Override
  	public void collisionResolve(Meteoroid meteoroid) {
  		System.out.println(String.format("%s hits %s.", meteoroid.getClass().getSimpleName(), this.getClass().getSimpleName()));
  	}
  
  	@Override
  	public void collisionResolve(SpaceStationMir mir) {
  		System.out.println(String.format("%s hits %s.", mir.getClass().getSimpleName(), this.getClass().getSimpleName()));
  	}
  
  	@Override
  	public void collisionResolve(SpaceStationIss iss) {
  		System.out.println(String.format("%s hits %s.", iss.getClass().getSimpleName(), this.getClass().getSimpleName()));
  	}	
  }
  