added abstract class for generalized enemy

TODO: solve AI problem