public Membrane(BaseCreature creature, Random random, Point position, int generation, int parentMark, Creator creator) { Creature = creature; _random = random; _parentMark = parentMark; Position = position; Generation = generation; _creator = creator; }
public override BaseCreature MakeChild(BaseCreature parent) { var parentAsCreature = parent as Creature; if (parentAsCreature == null) throw new ArgumentException(); var childsDirections = Mutate(parentAsCreature.CommandsForGetDirection); var childsActions = Mutate(parentAsCreature.CommandsForGetAction); var executor = new Executor(); var child = new Creature(executor, childsDirections, childsActions); return child; }
public override BaseCreature MakeChild(BaseCreature parent) { if(!(parent is SimpleCreature))throw new ArgumentException(); return new SimpleCreature(); }
public abstract BaseCreature MakeChild(BaseCreature parent);