class Field
  attr_accessor:go
  def initialize
      go = []
  end
  def timeForward
     #ゲーム時間が経過した時の、フィールド内の処理（オブジェクトの衝突検知とか）を書く。
  end
end
 
class GameObject
  attr_accessor:x
  attr_accessor:y
  #ゲーム時間が経過した時の、このオブジェクトの挙動を書く。
  #FieldのtimeForward()から呼び出される。
  def timeForward
    #このオブジェクトが他のオブジェクトと衝突した時の挙動を書く。
    #FieldのtimeForward()から呼び出される。
    #Params:
    #go = このオブジェクトと衝突したオブジェクトが渡される。
  end
  def collideReaction go
  end
end
 
class Missile < GameObject
  attr_accessor:power #ミサイルの攻撃力。
  attr_accessor:speed #ミサイルの推進力。
  def timeForward
    #前に推進する処理とか。
  end
  def collideReaction go
    #爆発処理とか。
  end
end
 
class HomingMissile < Missile
  attr_accessor:lead #誘導性能。
  def timeForward
    #追加で誘導処理でも。
  end
  #衝突処理には変更無し。
end